Commit 919951e
Observability overhaul + traces support (#3213)
* [Python] Feat: Hatchet OTel (#2881)
* feat: first pass at auto otel impl
* refactor: clean up a bit, naming, etc.
* refactor: rm instance vars
* fix: rm one more instance var
* chore: notes to self
* traces view
* minor changes
* trace view by task external id
* go sdk instrumentation
* e2e tests for Py SDK trace
---------
Co-authored-by: Mohammed Nafees <hello@mnafees.me>
* fix CI
* fix black lint
* fix example
* fix lint
* inject traceparent in Go SDK
* ctx propagation
* Feat: Opentelemetry for TS SDK (#2828) (#3218)
* add: otel as optional dep on ts packages
* feat: opentelemetry instrumentor for TS sdk, with example
* fix: lint
* revert: debug print
* remove: trailing space
* fix: ts otel patch file path, throw handlesteprun error upstream, ts otel examples
* fix: lint
* feat: add schedule_workflow instrumentor, add otel conig loader tests
* add: more robust wrap unwrap for patched modules
* fix: lint, update version
* refactor: ts otel config type assertion
* revert: rebase issues
* fix: lint
* fix: update worker patch for ts otel with InternalWorker
* fix: lint
* refactor: parsejson on otel
* fix: pnpm-lock
* fix: lint
* docs: add otel instrumented method warnings
Co-authored-by: Jishnu <jishnun789@gmail.com>
* many many random spans
* refetch polling
* otel postgres traces
* add to rbac.yaml
* some refactor
* oAPI side typing impl
* TS SDK example
* span names
* fix lint
* fix comments
* fix lint
* fix lint
* Copilot comments
* o11y overhaul frontend work (Josh) (#3231)
* Fix agentprism theming
- make the obvious links between the Hatchet theme variables and the agentprism theme variables
- update the non-obvious agentprism theme variables from oklch to hsl to fit with the Hatchet theme colors (thanks Claude)
* Refactor to put waterfall and trace behind the same observability tab
* delete agent-prism files we don't need
DetailsView: https://storybook.agent-prism.evilmartians.io/?path=/docs/main-components-detailsview--docs&utm_medium=social&utm_source=github
TraceViewer: https://storybook.agent-prism.evilmartians.io/?path=/story/demo-traceviewer--trace-viewer-story&utm_medium=social&utm_source=github
SearchInput: https://storybook.agent-prism.evilmartians.io/?path=/docs/atoms-searchinput--docs&utm_medium=social&utm_source=github
* Hide the status badge and dot
* unused variable
* Delete more agent-prism components we don't need now
* add success and danger colors from the designs
* use the colors from the design, albeit while still depending on agent-prism's alternate statuses
* move convertRawSpansToSpanTree into our repo so I can work on the types
* move agent-prism-data into this repo, remove the unnecessary statuses
* Remove more unused components
* remove avatar, "trace span category", and genai/openinference-specific stuff from the TraceSpan types
* switch to our usual chevron icons
* Use the OTEL statuses and kinds from data-contracts
* Remove a bunch of unnecessary conversions from our otel types to the agent-prism data structures
* Remove unnecessary intermediate type
* move agent-prism specific types and transform functions to the agent-prism component directory
* AgentPrismTraceSpan -> OtelSpanTree
* Only expand the hatchet runs when first displaying spans
also remove unnecessary re-flattening of the tree structure and start treating the root of the tree like an actual root element
* make it so clicking the name expands the children
also don't make the rest of the card clickable unless onSpanSelect was passed in
* make the bar bigger per the design
* PR comments
* API naming convention
* fix migration
* Observability front-end: a few last fixes (#3249)
* remove max height from the tree view
* Make it much harder for the SpanCardTimeline to get bumped to the right at deep nestings
* Use durationNs, remove the last custom property from OtelSpanTree (#3258)
* Drop unnecessary useEffect
* Only keep the properties we need from the trace endpoint
#3213 (comment)
* Remove unused agent-prism components
* examples
* default hatchet enable collector
* fix spans
* fix lint
* fix renames
* fix spans
* env vars
* BSP options
* attempt py test fix
* func naming
* remove redundant examples
* task names attrs Py TS
* test fixture
* fix go sdk error span status
* bug fixes
* lint py
* bug fixes
* docs push
* restore comments
* delete older observability docs
* Fix: Misc. O11y bugs + nits (#3352)
* fix: rename hatchet o11y -> observability
* fix: don't disable test
* fix: more instrumentor example to top level
* fix: timedelta for retry
* fix: remove untyped kwargs from instrumentor
* fix: rm nested grpc import
* chore: gen python, start reworking otel tests
* fix: on demand
* feat: add trace poll helper
* fix: remove crufty instrumentor test
* fix: start expanding tests
* fix: remove n+1 query
* fix: trace table pk
* fix: bytea span and trace ids
* fix: simplify queries, remove a bunch of cruft
* fix: enum types
* fix: rm print cruft
* feat: continue extending tests
* fix: single api
* fix: api wiring
* fix: comment
* fix: api params
* fix: fe
* fix: py tests
* fix: rm unused query, fix texts
* fix: copilot feedback
* fix: simplify
* chore: gen
* ci: try to fix old-engine-new-sdk test
* fix: put env var in the right place
* fix: namespaces
* fix: naming, remove silly pagination thing
* fix: rename endpoint
* fix: remove in-memory pagination
* fix: rbac
* fix: api
* fix: clickhouse
* fix: revert that, it's broken
* Feat: Lookup table for trace ids (#3357)
* feat: add k-v table
* feat: query for lookup
* feat: wiring up lookup table writes
* feat: wiring for lookup spans
* fix: partitioning
* fix: use txns everywhere
* fix: trace deduping
* fix: deduplication
* feat: lookup query
* fix: wire up lookup table reads
* fix: naming
* fix: import
* fix: 404
* fix: rm comment
* fix: test
* fix: simplify query a bit
* chore: gen
* fix: attempt to fix py tests
* fix: test fix 2
* Feat o11y UI changes (#3333)
* feat: new component
* feat: err
* feat: mini map, filtering, zooming, oh my
* parent span is open
* feat: helpful popover
* feat: span detail view
* example changes
* dag name
* feat: batched spans
* feat: filters
* feat: queued time v0
* feat: table hover state
* feat: colors match badges
* fix: queued color matches state
* fix: error event on timeline
* feat: nearly complete engine spans
* feat: synthetic real time
* event focus
* fix: timelines and zooms
* fix: consistent expand affordance
* fix: polling
* fix: naming consistency
* fix: engine sdk span consistency and surrogate mapping
* fix: group treatment
* feat: time hint
* feat: match badge color even though i dont like it
* feat: queued synthetic
* fix: span styles
* fix: grouping and runtime
* feat: error state
* feat: shared time bar
* fix: rt times and statuses
* chore: lint
* fix: recursive open
* chore: lint
* chore: reuse existing filter/search code
* chore: initial component refactor
* chore: further refactor
* chore: first pass refactor of the span transformer
* chore: performance refactor
* chore: feedback
* fix: add task inserted at
* fix: filter engine spans for tests
* fix: lint
---------
Co-authored-by: matt <mrkaye97@gmail.com>
Co-authored-by: Jishnu <jishnun789@gmail.com>
Co-authored-by: Josh Duff <me@JoshDuff.com>
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com>1 parent b8c649f commit 919951e
File tree
185 files changed
+15328
-1667
lines changed- .github/workflows
- api-contracts/openapi
- components/schemas
- v1
- paths/v1
- observability
- workflow-runs
- api/v1/server
- handlers/v1/observability
- oas
- gen
- transformers/v1
- rbac
- run
- cmd
- hatchet-engine/engine
- hatchet-migrate/migrate/migrations
- examples
- go/opentelemetry_instrumentation
- trigger
- python
- opentelemetry_instrumentation
- hatchet
- typescript
- guides
- opentelemetry_instrumentation
- frontend
- app
- src
- components/v1
- agent-prism
- SpanCard
- cloud
- logging/log-search
- observability/trace-search
- molecules/search-bar-with-filters
- hooks
- lib/api/generated
- pages/main/v1/workflow-runs-v1/$run
- v2components
- step-run-detail
- observability
- minimap
- timeline
- utils
- docs/pages/v1
- observability
- internal/services
- controllers/olap
- otelcol
- pkg
- client
- rest
- config
- loader
- server
- repository
- sqlchelpers
- sqlcv1
- v1/features
- worker
- sdks
- go
- examples/opentelemetry_instrumentation
- trigger
- features
- opentelemetry
- guides/python/ai_agents/__pycache__
- python
- examples
- opentelemetry_instrumentation
- run_details
- hatchet_sdk
- clients
- dispatcher
- rest
- api
- models
- opentelemetry
- runnables
- utils
- worker/runner
- utils
- typescript
- src
- clients
- event
- hatchet-client
- fixtures
- legacy
- opentelemetry
- util
- config-loader
- fixtures
- v1
- client
- features
- worker
- examples/opentelemetry_instrumentation
- sql/schema
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
185 files changed
+15328
-1667
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
105 | 106 | | |
106 | 107 | | |
107 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
| |||
72 | 73 | | |
73 | 74 | | |
74 | 75 | | |
| 76 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
414 | 414 | | |
415 | 415 | | |
416 | 416 | | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
| 61 | + | |
60 | 62 | | |
61 | 63 | | |
62 | 64 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
485 | 485 | | |
486 | 486 | | |
487 | 487 | | |
| 488 | + | |
488 | 489 | | |
489 | 490 | | |
490 | 491 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
0 commit comments