mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-05-08 02:49:17 -05:00
Feat: Expand OpenTelemetry Integration (#1792)
* feat: initial work expanding instrumentation * feat: automatically inject traceparent into metadata in instrumentor * feat: deprecate old attrs * feat: add new namespaced attrs * chore: version * fix: type bug * feat: tracing scheduled workflows * fix: don't need duplication * feat: convert timestamps to ISO * fix: warn on use of old methods * feat: changelog * fix: enum breakages * fix: docs * feat: add a couple of additional attrs to bulk events * cleanup: types * fix: comment * fix: example * feat: langfuse example * tweak: edge cases * feat: example cleanup * feat: examples * chore: gen * feat: langfuse docs * feat: extend docs * fix: lint * fix: disclaimer * fix: start and end whitespace * fix: rm langfuse for now * fix: rm langfuse trace pic * fix: ci config
This commit is contained in:
@@ -5,21 +5,17 @@ from examples.opentelemetry_instrumentation.tracer import trace_provider
|
||||
from examples.opentelemetry_instrumentation.worker import otel_workflow
|
||||
from hatchet_sdk.clients.admin import TriggerWorkflowOptions
|
||||
from hatchet_sdk.clients.events import BulkPushEventWithMetadata, PushEventOptions
|
||||
from hatchet_sdk.opentelemetry.instrumentor import (
|
||||
HatchetInstrumentor,
|
||||
inject_traceparent_into_metadata,
|
||||
)
|
||||
from hatchet_sdk.opentelemetry.instrumentor import HatchetInstrumentor
|
||||
|
||||
instrumentor = HatchetInstrumentor(tracer_provider=trace_provider)
|
||||
tracer = trace_provider.get_tracer(__name__)
|
||||
|
||||
|
||||
def create_additional_metadata() -> dict[str, str]:
|
||||
return inject_traceparent_into_metadata({"hello": "world"})
|
||||
ADDITIONAL_METADATA = {"hello": "world"}
|
||||
|
||||
|
||||
def create_push_options() -> PushEventOptions:
|
||||
return PushEventOptions(additional_metadata=create_additional_metadata())
|
||||
return PushEventOptions(additional_metadata=ADDITIONAL_METADATA)
|
||||
|
||||
|
||||
def push_event() -> None:
|
||||
@@ -48,12 +44,12 @@ def bulk_push_event() -> None:
|
||||
BulkPushEventWithMetadata(
|
||||
key="otel:event",
|
||||
payload={"test": "test 1"},
|
||||
additional_metadata=create_additional_metadata(),
|
||||
additional_metadata=ADDITIONAL_METADATA,
|
||||
),
|
||||
BulkPushEventWithMetadata(
|
||||
key="otel:event",
|
||||
payload={"test": "test 2"},
|
||||
additional_metadata=create_additional_metadata(),
|
||||
additional_metadata=ADDITIONAL_METADATA,
|
||||
),
|
||||
],
|
||||
)
|
||||
@@ -67,12 +63,12 @@ async def async_bulk_push_event() -> None:
|
||||
BulkPushEventWithMetadata(
|
||||
key="otel:event",
|
||||
payload={"test": "test 1"},
|
||||
additional_metadata=create_additional_metadata(),
|
||||
additional_metadata=ADDITIONAL_METADATA,
|
||||
),
|
||||
BulkPushEventWithMetadata(
|
||||
key="otel:event",
|
||||
payload={"test": "test 2"},
|
||||
additional_metadata=create_additional_metadata(),
|
||||
additional_metadata=ADDITIONAL_METADATA,
|
||||
),
|
||||
],
|
||||
)
|
||||
@@ -82,9 +78,7 @@ def run_workflow() -> None:
|
||||
print("\nrun_workflow")
|
||||
with tracer.start_as_current_span("run_workflow"):
|
||||
otel_workflow.run(
|
||||
options=TriggerWorkflowOptions(
|
||||
additional_metadata=create_additional_metadata()
|
||||
),
|
||||
options=TriggerWorkflowOptions(additional_metadata=ADDITIONAL_METADATA),
|
||||
)
|
||||
|
||||
|
||||
@@ -92,9 +86,7 @@ async def async_run_workflow() -> None:
|
||||
print("\nasync_run_workflow")
|
||||
with tracer.start_as_current_span("async_run_workflow"):
|
||||
await otel_workflow.aio_run(
|
||||
options=TriggerWorkflowOptions(
|
||||
additional_metadata=create_additional_metadata()
|
||||
),
|
||||
options=TriggerWorkflowOptions(additional_metadata=ADDITIONAL_METADATA),
|
||||
)
|
||||
|
||||
|
||||
@@ -105,12 +97,12 @@ def run_workflows() -> None:
|
||||
[
|
||||
otel_workflow.create_bulk_run_item(
|
||||
options=TriggerWorkflowOptions(
|
||||
additional_metadata=create_additional_metadata()
|
||||
additional_metadata=ADDITIONAL_METADATA
|
||||
)
|
||||
),
|
||||
otel_workflow.create_bulk_run_item(
|
||||
options=TriggerWorkflowOptions(
|
||||
additional_metadata=create_additional_metadata()
|
||||
additional_metadata=ADDITIONAL_METADATA
|
||||
)
|
||||
),
|
||||
],
|
||||
@@ -124,12 +116,12 @@ async def async_run_workflows() -> None:
|
||||
[
|
||||
otel_workflow.create_bulk_run_item(
|
||||
options=TriggerWorkflowOptions(
|
||||
additional_metadata=create_additional_metadata()
|
||||
additional_metadata=ADDITIONAL_METADATA
|
||||
)
|
||||
),
|
||||
otel_workflow.create_bulk_run_item(
|
||||
options=TriggerWorkflowOptions(
|
||||
additional_metadata=create_additional_metadata()
|
||||
additional_metadata=ADDITIONAL_METADATA
|
||||
)
|
||||
),
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user