Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion config/openobserve-queries.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,23 @@ queries:
GROUP BY operation_name
ORDER BY operation_name

- id: eligibility-to-start-by-job
title: Exact eligible-to-runner-start duration by job
stream: fleet_traces
search_type: traces
parameters: []
sql: >-
SELECT queue_job_uuid, github_workflow_run_id, github_job_name,
queue_repository, queue_scale_set, queue_priority,
SUM(duration) AS eligibility_to_start_us,
MIN(_timestamp) AS first_eligible_at
FROM "fleet_traces"
WHERE operation_name IN ('queue.queued', 'queue.assigned',
'queue.acquiring', 'queue.acquired')
GROUP BY queue_job_uuid, github_workflow_run_id, github_job_name,
queue_repository, queue_scale_set, queue_priority
ORDER BY eligibility_to_start_us DESC

- id: member-provisioning-summary
title: Provider provisioning by Incus member
stream: fleet_traces
Expand All @@ -65,6 +82,7 @@ dashboards:
visualization: table
- query: queue-phase-summary
visualization: table
- query: eligibility-to-start-by-job
visualization: table
- query: member-provisioning-summary
visualization: table

13 changes: 13 additions & 0 deletions internal/observabilityrules/queries_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,19 @@ func TestOpenObserveQueryContractIsPortableAndComplete(t *testing.T) {
}
}
text := string(raw)
for _, required := range []string{
"eligibility-to-start-by-job",
"SUM(duration) AS eligibility_to_start_us",
"github_workflow_run_id", "github_job_name",
"'queue.queued'", "'queue.assigned'", "'queue.acquiring'", "'queue.acquired'",
} {
if !strings.Contains(text, required) {
t.Fatalf("eligibility-to-start query lacks %q", required)
}
}
if strings.Contains(text, "'queue.running'") {
t.Fatal("eligibility-to-start query includes execution time")
}
for _, privateIdentity := range []string{"NDDev-it-com", "My-Attention-AI-Inc", "10.110.", "209.38."} {
if strings.Contains(text, privateIdentity) {
t.Fatalf("public query contract contains private identity %q", privateIdentity)
Expand Down
1 change: 1 addition & 0 deletions internal/queuephase/emitter.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ func emitSpan(ctx context.Context, phase Phase) {
attribute.String("queue.scale_set", phase.Intent.ScaleSetName),
attribute.Int("queue.priority", phase.Intent.Priority),
attribute.Int64("github.workflow_run_id", phase.Intent.WorkflowRunID),
attribute.String("github.job_name", phase.Intent.JobDisplayName),
attribute.Int64("github.runner_request_id", phase.Intent.RunnerRequestID),
attribute.Int64("github.runner_id", phase.Intent.GitHubRunnerID),
attribute.String("runner.name", phase.Intent.RunnerName),
Expand Down