+
+
+ io.quarkus
+ quarkus-scheduler-parent
+ 999-SNAPSHOT
+
+ 4.0.0
+
+ quarkus-scheduler-spi
+ Quarkus - Scheduler - SPI
+
+
+
+ io.quarkus
+ quarkus-scheduler-api
+
+
+
diff --git a/extensions/scheduler/spi/src/main/java/io/quarkus/scheduler/spi/JobInstrumenter.java b/extensions/scheduler/spi/src/main/java/io/quarkus/scheduler/spi/JobInstrumenter.java
new file mode 100644
index 00000000000000..d6df78b5691c8f
--- /dev/null
+++ b/extensions/scheduler/spi/src/main/java/io/quarkus/scheduler/spi/JobInstrumenter.java
@@ -0,0 +1,23 @@
+package io.quarkus.scheduler.spi;
+
+import java.util.concurrent.CompletionStage;
+
+/**
+ * Instruments a scheduled job.
+ *
+ * Telemetry extensions can provide exactly one CDI bean of this type. The scope must be either {@link jakarta.inject.Singleton}
+ * or {@link jakarta.enterprise.context.ApplicationScoped}.
+ */
+public interface JobInstrumenter {
+
+ CompletionStage instrument(JobInstrumentationContext context);
+
+ interface JobInstrumentationContext {
+
+ String getSpanName();
+
+ CompletionStage executeJob();
+
+ }
+
+}