Table of Contents

Class ActivityTags

Namespace
Quartz.Diagnostics
Assembly
Quartz.dll

The attribute names Quartz puts on its spans and its measurements.

public static class ActivityTags
Inheritance
ActivityTags
Inherited Members

Remarks

Every one of them is spelled under quartz., which is what OpenTelemetry asks of an attribute a library defines for itself: job.name is a name any other instrumented library in the same process could reasonably claim, and once two of them do, a dashboard has one attribute meaning two things and no way to tell which. The one exception is error.type, which Quartz writes on a failed operation: it is the semantic convention's shared attribute for that, and a Quartz-specific spelling would only keep these series from lining up with the rest of an application's failures.

The values are a telemetry contract rather than a compile-time one, so code reading them by these constants needs no change while a dashboard, alert or recording rule matching the 3.x spellings does.

Fields

BatchSize

How many triggers the scheduler asked its store for in one acquisition attempt.

public const string BatchSize = "quartz.jobstore.batch.size"

Field Value

string

ExecutionGroup

The execution group a trigger belongs to, which is the bucket a thread limit is applied per.

public const string ExecutionGroup = "quartz.execution.group"

Field Value

string

Remarks

A trigger that names no execution group carries no such attribute at all rather than an empty one: the two are the same series to a reader that treats a missing attribute as empty, and different series to one that does not, and "there is no group" is not a group name.

FireInstanceId

The identity of one firing, which is what an interrupt names.

public const string FireInstanceId = "quartz.fire.instance.id"

Field Value

string

JobGroup

The job's group.

public const string JobGroup = "quartz.job.group"

Field Value

string

JobName

The job's name.

public const string JobName = "quartz.job.name"

Field Value

string

JobStoreOperation

Which store operation a measurement is about — one of the OperationName.JobStore names, which is also what the operation's span is called.

public const string JobStoreOperation = "quartz.jobstore.operation"

Field Value

string

JobType

The job's type, as the assembly-qualified name the store holds.

public const string JobType = "quartz.job.type"

Field Value

string

RecoveredInstanceId

The instance id of the cluster node whose work is being recovered, which is a node other than the one reporting the measurement.

public const string RecoveredInstanceId = "quartz.cluster.recovered.instance.id"

Field Value

string

Remarks

Deliberately not SchedulerId: every measurement carries that already, and it names the node that made the measurement. A recovery is one node saying something about another, so the two ids are two attributes.

SchedulerId

The scheduler's instance id, which is what tells two nodes of a cluster apart.

public const string SchedulerId = "quartz.scheduler.id"

Field Value

string

SchedulerName

The scheduler's name.

public const string SchedulerName = "quartz.scheduler.name"

Field Value

string

TriggerCount

How many triggers a store operation was asked for, or handed back.

public const string TriggerCount = "quartz.jobstore.trigger.count"

Field Value

string

TriggerGroup

The trigger's group.

public const string TriggerGroup = "quartz.trigger.group"

Field Value

string

TriggerName

The trigger's name.

public const string TriggerName = "quartz.trigger.name"

Field Value

string