|
|
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: 6103 (0x17d7)
Types: TextFile
Names: »V«
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS
└─⟦91c658230⟧ »DATA«
└─⟦458657fb6⟧
└─⟦a5bbbb819⟧
└─⟦this⟧
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
└─⟦fc9b38f02⟧ »DATA«
└─⟦9b46a407a⟧
└─⟦eec0a994f⟧
└─⟦this⟧
with Simple_Status;
with Time_Utilities;
with Bounded_String;
with System; -- cmg 03/06/92
with Job_Segment; -- cmg 03/06/92
package System_Information is
-- Interfaces to extract information used to produce System_Report output.
procedure Generate (Start_Time : String := "";
End_Time : String := "";
Log_Directory : String := "!Machine.Error_Logs";
Log_Time : out Duration;
Status : in out Simple_Status.Condition);
-- Must be called prior to using the following operations. They, then
-- can be used to read the reduced data. Log_Time indicates the
-- actual duration between the first and last entries used in this
-- report.
-- Each iterator has a type and returns certain information.
-- General paradign for each is:
--
-- I : xxx_Iterator;
-- Info : xxx_Information;
--
-- Initialize (I);
-- while not Done (I) loop
-- Info := Value (I);
-- -- Do something with Info
-- Next (I);
-- end loop;
type Usage_Iterator is private;
type Outage_Iterator is private;
type Event_Iterator is private;
type Device_Iterator is private;
type Daemon_Iterator is private;
type Mount_Iterator is private;
procedure Initialize (I : out Usage_Iterator);
procedure Initialize (I : out Outage_Iterator);
procedure Initialize (I : out Event_Iterator);
procedure Initialize (I : out Device_Iterator);
procedure Initialize (I : out Daemon_Iterator);
procedure Initialize (I : out Mount_Iterator);
procedure Next (I : in out Usage_Iterator);
procedure Next (I : in out Outage_Iterator);
procedure Next (I : in out Event_Iterator);
procedure Next (I : in out Device_Iterator);
procedure Next (I : in out Daemon_Iterator);
procedure Next (I : in out Mount_Iterator);
function Done (I : Usage_Iterator) return Boolean;
function Done (I : Outage_Iterator) return Boolean;
function Done (I : Event_Iterator) return Boolean;
function Done (I : Device_Iterator) return Boolean;
function Done (I : Daemon_Iterator) return Boolean;
function Done (I : Mount_Iterator) return Boolean;
Job_Heap : constant System.Segment := Job_Segment.Get; -- cmg 03/06/92
type Pstring is access String; -- Strings are accessed by dereferencing
-- pointers.
pragma Segmented_Heap (Pstring); -- cmg 03/06/92
-- Usage information is available for each half-hour during the
-- report period.
type Usage_Information is
record
Time : Time_Utilities.Time; -- Time of this sample
Users : Natural; -- # users logged on
Disk_Running : Boolean; -- Disk Daemon running
Outage : Boolean; -- System is down
end record;
-- Outage information is available for each system service outage.
type Outage_Information is
record
Time : Time_Utilities.Time; -- time of outage
Length : Duration; -- length of outage
Cause : Pstring; -- Cause entered
Explanation : Pstring; -- Explanation entered
end record;
type Event_Class is (User_Operation, Exception_Cond,
System_Boot, Other_Event);
-- Event information is available for each "interesting" event.
-- The Event_Class gives some idea of the what the event is.
-- The Info is the log entry for the event and has the standard
-- format for a log entry.
type Event_Information is
record
Time : Time_Utilities.Time;
Info : Pstring;
Event_Kind : Event_Class;
end record;
type Device_Class is (Disk, Tape, Ethernet, Memory, Other_Device);
-- Device information is available for each device error or other
-- event of interest. Class indicates for which device it is, and
-- Info is the log entry for the event.
type Device_Information is
record
Time : Time_Utilities.Time; -- Time of entry
Info : Pstring; -- Log entry for device
Class : Device_Class; -- Class of device
end record;
-- Daemon information is available for each run of a daemon.
-- The information is as listed below.
type Daemon_Information is
record
Time : Time_Utilities.Time; -- time of start
Name : Bounded_String.Variable_String (40);-- Daemon name
Length : Duration; -- length of run
Pre_Size : Natural; -- pages at start
Post_Size : Natural; -- pages of state at end
Explanation : Pstring; -- Other info
end record;
type Mount_Information is
record
Request_Time : Time_Utilities.Time; -- time of request
Volume : Bounded_String.Variable_String (40); -- Volume Name
Mount_Time : Time_Utilities.Time; -- Tape on-line
Unload_Time : Time_Utilities.Time; -- Tape unloaded
Density : Bounded_String.Variable_String (20);
end record;
-- The value functions return the actual information for
-- each value of the iterator.
function Value (I : Usage_Iterator) return Usage_Information;
function Value (I : Outage_Iterator) return Outage_Information;
function Value (I : Event_Iterator) return Event_Information;
function Value (I : Device_Iterator) return Device_Information;
function Value (I : Daemon_Iterator) return Daemon_Information;
function Value (I : Mount_Iterator) return Mount_Information;
private
type Usage_Iterator is new Integer;
type Outage_Iterator is new Integer;
type Event_Iterator is new Integer;
type Device_Iterator is new Integer;
type Daemon_Iterator is new Integer;
type Mount_Iterator is new Integer;
end System_Information;