8.13 peinit.job.ended

  • Event type: peinit.job.ended
  • Defined in: peinit.evman
  • Tier: standard
  • Gating: none — every job that ends is recorded
  • Cardinality: one record per occurrence

A job is over: its process exited or was killed, or the job ended without its process ever starting. It carries the whole job record, so it is the one job event to read when only one is kept.

Formerly job.ended.

8.13.1 Fields #

FieldTypePresenceMeaning
object.job.guidbin.guidrequiredThe job the event is about.
object.job.typestr.enumrequiredWhat the job is for.
object.job.statestr.enumrequiredThe terminal state: completed, failed or abandoned.
outcome.successboolrequiredTrue exactly when object.job.state is completed.
outcome.detailstroptionalWhy the job did not complete, in peinit's words, such as ProcessCrash: signal 9. Present only when outcome.success is false and peinit recorded a cause. Free text until it is given an enumeration.
object.service.namestrwhen object.job.type != submittedThe name of the service the event is about, as its definition names it.
object.job.activation-generationuintwhen object.job.type != submittedThe activation generation of the service the job belongs to, at the time the job was created.
object.operation.guidbin.guidoptionalThe peinit operation the event is about: a start, stop, restart, reload or reset of one service, from the moment it is requested to the moment it ends.
object.process.piduintoptionalAbsent when the process never started.
object.process.exit-codeintoptionalThe exit code of the job's process, as it passed it to exit.
object.process.exit-signalintoptionalThe number of the signal that ended the job's process.
object.job.executablestr.pathrequiredThe path of the executable the job runs.
object.job.argumentsstr[]requiredThe job's argument vector, including argv[0].
object.job.arguments-truncatedboolrequiredWhether object.job.arguments was cut to fit the record.
object.job.arguments-countuintrequiredHow many arguments the job was given, before any were cut.
object.job.created-timeuint.timerequiredWhen peinit created the job, in nanoseconds since the Unix epoch.
object.job.started-timeuint.timeoptionalWhen the job's process started, in nanoseconds since the Unix epoch.
object.job.durationuint.durationrequiredHow long the job lasted, in nanoseconds, from its creation to its end.
object.cgroup.pathstr.pathrequiredThe cgroup the event is about, as its full path under /sys/fs/cgroup/peinit.
object.cgroup.generationuintrequiredThe cgroup generation of the service the cgroup belongs to.
object.job.token.sidbin.sidoptionalAs on peinit.job.started, for a job whose process started. A service's job that ended without starting had no token yet, and is as on peinit.job.created.
object.job.token.groupsbin.sid[]optionalPresent exactly when the job's process started, or it is a submitted job.
object.job.token.privilegesuint.flagsoptionalPresent exactly when object.job.token.groups is.
object.job.token.privileges-enableduint.flagsoptionalPresent exactly when object.job.token.groups is.

Every record also carries the header fields of the envelope, which no payload repeats.

Generated from peinit.evman by pkm/tools/gen-events-book.py. Edit the fragment, not this page.

Edit this page