DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦023fb088d⟧ TextFile

    Length: 6103 (0x17d7)
    Types: TextFile
    Names: »V«

Derivation

└─⟦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⟧ 

TextFile

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;