Skip to content

[air] Record workload submission and source staging telemetry - #6904

Open
ben-hansen-db wants to merge 3 commits into
mainfrom
air/workload-telemetry
Open

ben-hansen-db wants to merge 3 commits into
mainfrom
air/workload-telemetry

Conversation

@ben-hansen-db

@ben-hansen-db ben-hansen-db commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Changes

Record AIR submission telemetry with requested compute, configuration-presence flags, outcome/latency, and job run ID. Include compressed source tarball bytes, GIT_ARCHIVE/PLAIN_TAR packaging mode, and separate packaging/upload durations. Cache hits report zero phase durations; failed attempts retain measurements already collected. Update the fake workspace to return file sizes for cache-hit coverage.

Why

Bring workload visibility in line with Python AIR and help explain slow source staging. The companion ingestion schema, https://github.com/databricks-eng/universe/pull/2720990, has landed; gpu_type carries the API's canonical accelerator name (e.g. GPU_1xH100) as that schema defines. Events use the existing upload-at-exit pipeline and telemetry opt-out; first-log timing is deferred.

Tests

Added coverage for new uploads, cache reuse, absent versus zero measurements, Git and working-tree packaging, and failed packaging/upload/submission. ./task fmt, ./task checks, full ./task lint, doctests, and all root/tools module unit tests passed (11,641 tests; 143 skipped).

Full ./task test reached acceptance tests but stopped at the new prerequisite requiring jq >= 1.7 (this machine has 1.6).

This PR was written with Codex.

@github-actions github-actions Bot added the AIR Databricks AI Runtime CLI label Oct 1, 2026
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 856fa6b

Run: 37699968636

Env ✅​pass 🙈​skip Time
✅​ aws linux 276 16 5:30
✅​ aws windows 278 14 3:24
✅​ azure linux 275 16 5:13
✅​ azure windows 277 14 3:19
✅​ gcp linux 276 16 5:18
✅​ gcp windows 278 14 3:22
Top 6 slowest tests (at least 2 minutes):
duration env testname
4:01 azure linux TestAccept
3:59 gcp linux TestAccept
3:51 aws linux TestAccept
3:23 aws windows TestAccept
3:20 gcp windows TestAccept
3:17 azure windows TestAccept

@ben-hansen-db
ben-hansen-db marked this pull request as ready for review October 7, 2026 21:05
@ben-hansen-db
ben-hansen-db requested review from a team as code owners October 7, 2026 21:05
ben-hansen-db and others added 2 commits October 7, 2026 21:23
The landed air_run.proto defines gpu_type as an optional string holding the
API's canonical accelerator name, not an enum, so send GPU_1xH100-style values
and omit the field when unresolved. Count rank-partitioned containers as using
a Unity Catalog image, since each container must set one.

Co-authored-by: Isaac <no-reply@databricks.com>
@ben-hansen-db
ben-hansen-db force-pushed the air/workload-telemetry branch from df62798 to 097f685 Compare October 7, 2026 21:59
Co-authored-by: Isaac <no-reply@databricks.com>
info = entry.Info
if info.ObjectType == workspace.ObjectTypeFile {
info.Size = int64(len(entry.Data))
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks unrelated, can you drop from the diff?

"github.com/stretchr/testify/require"
)

func TestAirRunEventOptionalMeasurements(t *testing.T) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this test only verifies that JSON marshalling through pointers works.

If so, I recommend dropping it.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AIR Databricks AI Runtime CLI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants