|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 7563 (0x1d8b)
Types: TextFile
Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
└─⟦fc9b38f02⟧ »DATA«
└─⟦9b46a407a⟧
└─⟦12c68c704⟧
└─⟦this⟧
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS
└─⟦91c658230⟧ »DATA«
└─⟦458657fb6⟧
└─⟦220843204⟧
└─⟦this⟧
with Calendar;
package Daemon is
-- There are five types of Daemon tasks controlled by this package, their
-- characteristics and default scheduling:
--
-- Snapshot. Frequent. ~1 minute slowdown. Hourly.
--
-- Action. Frequent, unobtrusive. Every two hours.
--
-- Weekly. Unobtrusive. Weekly at 2:30 AM.
-- Code_Segment Group Session Tape Terminal User
--
-- Daily. Variable, possibly significant interruption.
-- Nightly at 3:00 AM.
-- Ada DDB Directory Error_Log File Disk
--
-- Disk. Daily or as needed. Prolonged slowdown.
-- Last portion of the Daily run
--
-- If no other action is taken, all clients will be scheduled at a
-- frequency and time normally appropriate. These schedules can be
-- changed to suit specific needs. Note that Disk is included in the
-- Daily category and will be run with the other Daily Daemons.
--
-- Clients that interfere with normal operations warn all users.
--
-- There is a group of clients referred to as Major_Clients that are
-- expected to be of interest in monitoring the state of the machine:
-- Snapshot, Action, Disk, Ada, DDB, Directory, and File.
Major_Clients : constant String := "*";
procedure Run (Client : String := "Snapshot";
Response : String := "<PROFILE>");
-- Cause the named Client to run the specified operation immediately;
-- Has no effect on the next scheduled run of Client.
procedure Schedule (Client : String := ">>CLIENT NAME<<";
Interval : Duration;
First_Run : Duration := 0.0;
Response : String := "<PROFILE>");
-- Sets the interval at which the Client operation will take place.
procedure Quiesce (Client : String := ">>CLIENT NAME<<";
Additional_Delay : Duration := 86_400.0;
Response : String := "<PROFILE>");
-- Reschedule the Client not to run at the next scheduled time.
-- Equivalent to Schedule with a new First_Run, but the same Interval.
-- Defaults to a 1-day delay; use Duration'Last for indefinite delay.
procedure Status (Client : String := "*");
-- print a formatted display of current status for given Client
-- Matches on prefix of Client name, "" is prefix of all clients
-- Major Clients (*): Actions, Ada, DDB, Directory, Disk, File, Snapshot
-- The Disk Client provides additional information when run separately.
procedure Warning_Interval (Interval : Duration := 120.0);
function Get_Warning_Interval return Duration;
-- Warning given before starting Daily clients to allow time to Quiesce.
function In_Progress (Client : String) return Boolean;
function Next_Scheduled (Client : String) return Calendar.Time;
function Last_Run (Client : String) return Calendar.Time;
function Interval (Client : String) return Duration;
procedure Get_Size (Client : String;
Size : out Long_Integer;
Size_After_Last_Run : out Long_Integer;
Size_Before_Last_Run : out Long_Integer);
-- Sizes are set to -1 if invalid
-- Control of the Disk Daemon
--
-- The Disk Daemon runs in response to a number of stimuli:
--
-- Daemon.Schedule Runs at priority 6; intended for machine idle.
-- Daemon.Run Runs at priority -1; background collection.
-- Daemon.Collect Runs at specified priority
-- over threshold Starts at priority 0 with escalation
--
-- Messages to all users are issued for each of the three explicitly
-- called collections. In addition, a message is sent when a Set_Priority
-- is called and it causes a change in priority.
--
-- A background task monitors over threshold situations and sends messages
-- of interesting events. Threshold_Warnings (False) allows an
-- installation-provided job to tailor policy.
--
-- Additional control over Disk operations is available in the
-- Disk_Daemon tools package.
subtype Volume is Integer range 0 .. 31;
subtype Collection_Priority is Integer range -1 .. 6;
-- -1 is the default and implies very low-level background activity
-- 0 guarantees progress in collection but has some effect on response
-- 6 causes collection to take over the machine
procedure Collect (Vol : Volume; Priority : Collection_Priority := 0);
-- If this call initiates a collection, it waits for its completion.
procedure Set_Priority (Priority : Collection_Priority := -1);
-- Set the priority of a currently running collection to Priority
procedure Threshold_Warnings (On : Boolean := True);
-- Cause messages to be sent when collection thresholds are passed.
--
-- Control of snapshot messages
--
procedure Snapshot_Warning_Message (Interval : Duration := 120.0);
procedure Snapshot_Start_Message (On : Boolean := True);
procedure Snapshot_Finish_Message (On : Boolean := True);
procedure Show_Snapshot_Settings;
procedure Get_Snapshot_Settings (Warning : out Duration;
Start_Message : out Boolean;
Finish_Message : out Boolean);
-------------------------------------------------------------------------
--
-- Control of the contents and permanence of the operations error log
--
-------------------------------------------------------------------------
type Condition_Class is (Normal, Warning, Problem, Fatal);
type Log_Threshold is (Console_Print, Log_To_Disk, Commit_Disk);
procedure Show_Log_Thresholds;
procedure Set_Log_Threshold (Kind : Log_Threshold; Level : Condition_Class);
function Get_Log_Threshold (Kind : Log_Threshold) return Condition_Class;
-- Options on client compactions.
--
-- Consistency checking does additional work to assure that the internal
-- state of the system is as it seems. This is normally only run when
-- there are suspected problems. Consistency checking slows operations
-- for which it is meaningful by between one and three orders of magnitude.
--
-- Access_List_Compaction is the process of removing non-existent groups
-- from the access lists of objects. This condition occurs when groups
-- are removed from the machine. Access_List_Compaction is only done
-- for Ada, Directory and File clients. All other clients reqested will
-- be silently ignored. All three must be compacted for any old group
-- numbers to be freed.
--
-- The default is disabled. The default is restored after
-- the next appropriate daemon run has completed.
procedure Set_Consistency_Checking (Client : String := "";
On : Boolean := True;
Response : String := "<PROFILE>");
function Get_Consistency_Checking (Client : String := "") return Boolean;
procedure Set_Access_List_Compaction (Client : String := "";
On : Boolean := True;
Response : String := "<PROFILE>");
function Get_Access_List_Compaction (Client : String := "") return Boolean;
pragma Subsystem (Os_Commands);
pragma Module_Name (4, 3932);
end Daemon;