fleet/server/service/async
Victor Lyuboslavsky 84e45f6fa1
OpenTelemetry minor improvements (#32324)
Fixes #32313

  OpenTelemetry Tracing

- Added tracing to async task collectors: FlushHostsLastSeen,
collectHostsLastSeen, collectLabelQueryExecutions,
collectPolicyQueryExecutions, collectScheduledQueryStats
- Updated HTTP middleware to use OTEL semantic convention for span names
({method} {route})
  - Added OTELEnabled() helper to FleetConfig

  Optimizations

- Reduced OTEL batch size from 512 to 256 spans to prevent gRPC message
size errors
  - Enabled gzip compression for trace exports

NOTE: I tried to improve OTEL instrumentation for cron jobs, but it got
too complicated due to goroutines in `schedule.go` so that effort should
be separate. We do have SQL instrumentation for cron jobs, but we are
missing root spans for cron jobs as a whole.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

- [x] QA'd all new/changed functionality manually


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Expanded OpenTelemetry tracing for async tasks (host last seen, label
membership, policy membership, scheduled query stats) to provide richer
observability.
* More descriptive HTTP span names using “METHOD /route” for clearer
trace analysis.

* **Bug Fixes**
* Improved OTLP gRPC exporter reliability by enabling gzip compression
and reducing export batch size, mitigating intermittent gRPC errors.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-28 19:32:46 -05:00
..
async.go OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
async_bench_test.go Implement async processing of hosts for label queries (#2288) 2021-11-01 14:13:16 -04:00
async_host_seen.go OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
async_host_seen_test.go OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
async_label.go OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
async_label_test.go OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
async_policy.go OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
async_policy_test.go OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
async_scheduled_query_stats.go OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
async_scheduled_query_stats_test.go OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
async_test.go Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
collect.go Update to Go 1.24.1 (#27506) 2025-03-31 11:14:09 -05:00
collect_test.go Set authz checked when rate limiting device endpoints (#6702) 2022-07-18 14:22:49 -03:00
doc.go Support async saving of hosts' last seen time (#5640) 2022-05-10 11:29:17 -04:00