Metastatic.Analysis.BusinessLogic.MissingTelemetryInObanWorker
(Metastatic v0.10.4)
View Source
Detects background job processing without telemetry.
Universal pattern: async job workers without metrics/monitoring.
Examples
Python (Celery task without metrics):
@celery.task
def process_upload(file_id): # Should emit task metrics
file = File.objects.get(id=file_id)
process_file(file)JavaScript (Bull queue without telemetry):
queue.process(async (job) => { # Should track job processing time
await processData(job.data);
});Elixir (Oban worker without telemetry):
def perform(%Oban.Job{args: args}) do
process_data(args) # Should emit telemetry for job execution
:ok
endC# (Hangfire job without logging):
public void ProcessUpload(int fileId) { # Should track job metrics
var file = db.Files.Find(fileId);
ProcessFile(file);
}Go (worker goroutine without metrics):
func processJob(job Job) error { # Should emit job metrics
return processData(job.Data)
}Java (Quartz job without monitoring):
public void execute(JobExecutionContext context) { # Should track execution time
processData(context.getMergedJobDataMap());
}Ruby (Sidekiq worker without telemetry):
def perform(file_id) # Should emit job metrics
file = File.find(file_id)
process_file(file)
endPython (RQ worker without tracking):
@job
def process_data(data_id): # Should track job execution
data = Data.objects.get(id=data_id)
process(data)