REPORTING(5)
β¨ REPORTING(5) β¨
Grid Engine File Formats π
π NAME π
reporting β the Grid Engine reporting file format, bestie. that's it, that's the name.
πΈ DESCRIPTION πΈ
okay so picture this: your Grid Engine system can write a whole reporting file to
$SGE_ROOT/$SGE_CELL/common/reporting
but only if you set reporting=true in the reporting_params of sge_conf(5). that's the vibe check β no reporting=true, no file, periodt. π
and this doesn't just happen whenever, it happens at intervals of the flush_time specified in that exact same place. same config, same energy. π«Ά
so what's actually in this file? literally everything you could ever want for accounting, monitoring and analysis purposes. it's giving main character energy for your whole cluster. π
here's the tea on what it contains:
- info about the cluster itself β hosts, queues, load values, consumables, etc. the whole squad π
- info about the jobs running in the cluster πΌ
- info about sharetree configuration and usage π³
and the way that all this info is time-related?? every single event gets dumped to the reporting file in a configurable interval. it's obsessed with timestamps fr fr. β°
which means you get both worlds, no cap:
- "real time" monitoring of the cluster status π
- historical analysis for when you need to look back π
both. at the same time. iconic behavior honestly. β¨
more coming, bestie β this is just part 1 of 3, don't go anywhere π
π FORMAT π
okay so bestie, the reporting file is literally an ASCII file. Every single line? One record. The fields of a record are separated by a delimiter β that's a colon : β and yes it's giving very "just split on colon" energy. The reporting file contains records of different type, and each record type has its own specific record structure. No cap.
The first two fields are common to all reporting records:
timeβ the time when the record was created. All time values described here are the number of seconds since the Unix epoch (1970-01-01 00:00:00 UTC). So like, seconds since the dawn of Unix time, periodt.record typeβ the type of the accounting record.
The different types of records and their structure are described below, eliding the leading time and record type fields in each case. So imagine those two are always vibing at the front, okay?
π new_job π
The new_job record is written whenever a new job enters the system (usually by a submission command). It has the following fields:
submission_timeβ time when the job was submitted.job_numberβ the job number.task_numberβ the array task id. Always has the value-1fornew_jobrecords (as array tasks haven't been created at that stage).pe_taskidβ the task id of parallel tasks. Always has the value"none"fornew_jobrecords.job_nameβ the job name (from the-Nsubmission option).ownerβ the job owner.groupβ the Unix group of the job owner.projectβ the project the job is running in.departmentβ the department the job owner is in.accountβ the account string specified for the job (from the-Asubmission option).priorityβ the job priority (from the-psubmission option).
πΈ job_log πΈ
If joblog=true is specified in the sge_conf(5) reporting_params, a job_log record is written whenever a job, an array task or a PE task changes status. A status change can be the transition from pending to running, but it can also be triggered by user actions, like suspension of a job. It has the following fields:
event_timeβ time when the event was generated.eventβ a one word description of the event.job_numberβ the job number.task_numberβ the PE task id. Always has the value-1fornew_jobrecords (as parallel tasks haven't been created at that stage).pe_taskidβ the task id of parallel tasks. Always has the value"none"fornew_jobrecords.stateβ the state of the job after the event was processed.userβ the user who initiated the event (or special usernames"qmaster","scheduler"and"execd"for actions of the system itself like scheduling jobs, executing jobs etc.).hostβ the host from which the action was initiated (e.g. the submit host, the qmaster host, etc.).state_timeβ reserved field for later use.submission_timeβ time when the job was submitted.job_nameβ the job name (from the-Nsubmission option).ownerβ the job owner.groupβ the Unix group of the job owner.projectβ the project the job is running in.departmentβ the department the job owner is in.accountβ the account string specified for the job (from the-Asubmission option).priorityβ the job priority (from the-psubmission option).messageβ a message describing the reported action.
π§Ύ acct π§Ύ
Records of type acct are accounting records. Normally, they are written whenever a job, a task of an array job, or a task of a parallel job terminates. However, for long running jobs an intermediate acct record is created once a day after midnight. This results in multiple accounting records for a particular job and allows for fine-grained resource usage monitoring over time.
Accounting records have the structure described in accounting(5), with the addition of leading time and type fields (which are not used in the accounting file).
π queue π
Records of type queue contain state information for queues (queue instances). A queue record has the following fields:
qnameβ the cluster queue name.hostnameβ the hostname of a specific queue instance.report_timeβ the time when a state change was triggered.stateβ the new queue state. The possible states are single-letter values, as reported byqhost(1)with the-qoption.
π¦ queue_consumable π¦
A queue_consumable record contains information about queue consumable values in addition to queue state information:
qnameβ the cluster queue name.hostnameβ the hostname of a specific queue instance.report_timeβ the time when a state change was triggered.stateβ the new queue state.consumablesβ description of consumable values. Information about multiple consumables is separated by space. A consumable description has the formatname=actual_value=configured_value.
Consumables are only logged iflog_consumables=trueis specified in thesge_conf(5)reporting_params, or the consumable is specified in the local or globalhost_conf(5)report_variables.
π» host π»
A host record contains information about hosts and host load values. It contains the following information:
hostnameβ the name of the host.report_timeβ the time when the reported information was generated.stateβ the new host state. Currently, Grid Engine doesn't track a host state; the field is reserved for future use. Always contains the valueX.load valuesβ description of load values. Information about multiple load values is separated by space. A load value description has the formatname=actual_value.
π host_consumable π
A host_consumable record contains information about hosts and host consumables. Host consumables can, for example, be licenses. It contains the following information:
hostnameβ the name of the host.report_timeβ the time when the reported information was generated.stateβ the new host state. Currently, Grid Engine doesn't track a host state; the field is reserved for future use. Always contains the valueX.consumablesβ description of consumable values. Information about multiple consumables is separated by space. A consumable description has the formatname=actual_value=configured_value.
Consumables are only logged iflog_consumables=trueis specified in thesge_conf(5)reporting_params, or the consumable is specified in the local or globalhost_conf(5)report_variables.
π sharelog π
The Grid Engine qmaster can dump information about sharetree configuration and use to the reporting file. The sge_conf(5) reporting_params can specify sharelog, which sets an interval in which sharetree information will be dumped. It is set in the format HH:MM:SS. A value of 00:00:00 configures qmaster not to dump sharetree information. Intervals of several minutes up to hours are sensible values for this parameter. The record contains the following fields:
current timeβ the present time.usage timeβ the time used so far.node nameβ the node name.user nameβ the user name.project nameβ the project name.sharesβ the total shares.job countβ the job count.levelβ the percentage of shares used.totalβ the adjusted percentage of shares used.long target shareβ the long target percentage of resource shares used.short target shareβ the short target percentage of resource shares used.actual shareβ the actual percentage of resource shares used.usageβ the combined shares used.cpuβ the number of CPU seconds used.memβ the time integral of memory used (in GB seconds).ioβ the IO done (in GB).long target cpuβ the long target cpu used.long target memβ the long target memory used.long target ioβ the long target IO used.
β¨ new_ar β¨
A new_ar record contains information about advance reservation objects. Entries of this type will be added if an advance reservation is created. It contains the following information:
submission_timeβ the time when the advance reservation was created.ar_numberβ the advance reservation number identifying the reservation.ar_ownerβ the owner of the advance reservation.
π ar_attribute π
The ar_attribute record is written whenever a new advance reservation was added or the attribute of an existing advance reservation has changed. It has the following fields.
event_timeβ the time when the event was generated.submission_timeβ the time when the advance reservation was created.ar_numberβ the advance reservation number identifying the reservation.ar_nameβ name of the advance reservation.ar_accountβ an account string which was specified during the creation of the advance reservation.ar_start_timeβ start time.ar_end_timeβ end time.ar_granted_peβ the parallel environment which was selected for an advance reservation.ar_granted_resourcesβ the granted resources which were selected for an advance reservation.
π₯ ar_log π₯
The ar_log record is written whenever an advance reservation changes status. A status change can be from pending to active, but can also be triggered by system events like host outage. It has the following fields.
ar_state_change_timeβ the time when the event occurred which caused a state change.submission_timeβ the time when the advance reservation was created.ar_numberβ the advance reservation number identifying the reservation.ar_stateβ the new state.ar_eventβ an event id identifying the event which caused the state change.ar_messageβ a message describing the event which caused the state change.
πΈ ar_acct πΈ
The ar_acct records are accounting records which are written for every queue instance whenever an advance reservation terminates. Advance reservation accounting records comprise following fields.
ar_termination_timeβ the time when the advance reservation terminated.submission_timeβ the time when the advance reservation was created.ar_numberβ the advance reservation number identifying the reservation.ar_qnameβ cluster queue name which the advance reservation reserved.ar_hostnameβ the name of the execution host.ar_slotsβ the number of slots which were reserved.
π FILES π
$SGE_ROOT/$SGE_CELL/common/reporting
π SEE ALSO π
accounting(5)sge_conf(5)host_conf(5)
π COPYRIGHT π
okay bestie, legal era, let's get into it π
the full β¨statement of rights and permissionsβ¨ lives in sge_intro(1), so if you're the type who actually reads the fine print (iconic of you, honestly π), that's where you go. everything you'd wanna know about who owns what, who can do what, and all the permissions lore is right there in that page.
no cap, this is the part where you go check sge_intro(1) instead of asking me to summarise the legal stuff. i'm a vibe, not a lawyer π
and that's a wrap on REPORTING(5), bestie!! π¦ you made it all the way to the end, main character energy fr fr π this lil page is from SGE 8.1.3pre, dated 2011-05-08 β yeah she's an elder but she still ate π go forth and report responsibly, mwah π«Άβ¨
π¦ where this page comes from
- debian bookworm: gridengine-common 8.1.9+dfsg-10 Β· SISSL
- debian trixie: gridengine-common 8.1.9+dfsg-13.1 Β· SISSL
- ubuntu jammy: gridengine-common 8.1.9+dfsg-10build1 Β· SISSL
- ubuntu noble: gridengine-common 8.1.9+dfsg-11build3 Β· SISSL
- ubuntu questing: gridengine-common 8.1.9+dfsg-13.1
- ubuntu resolute: gridengine-common 8.1.9+dfsg-13.2 Β· SISSL
- ubuntu stonking: gridengine-common 8.1.9+dfsg-13.2ubuntu1 Β· SISSL
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms