|
19 | 19 | _TELEMETRY_DEPENDENCIES = []
|
20 | 20 |
|
21 | 21 | # intercept telemetry events
|
22 |
| -from ddtrace.internal.telemetry.writer import TelemetryWriter # noqa: E402 |
| 22 | +from ddtrace.internal.telemetry.writer import _TelemetryClient # noqa: E402 |
23 | 23 |
|
24 | 24 |
|
25 |
| -_flush_events = TelemetryWriter._flush_events_queue |
| 25 | +_send_event = _TelemetryClient.send_event |
26 | 26 |
|
27 | 27 |
|
28 |
| -def _flush_events_wrapper(self): |
| 28 | +def _send_event_wrapper(self, event): |
29 | 29 | global _TELEMETRY_DEPENDENCIES
|
30 |
| - res = _flush_events(self) |
31 |
| - if res: |
32 |
| - dependencies = [v.get("payload", {}).get("dependencies", {}) for v in res] |
33 |
| - dependencies = [d for d in dependencies if d] |
| 30 | + print(f"Captured telemetry event: {event}", flush=True) |
| 31 | + if event: |
| 32 | + if event.get("request_type") == "message-batch": |
| 33 | + dependencies = [v.get("payload", {}).get("dependencies", []) for v in event.get("payload", [])] |
| 34 | + else: |
| 35 | + dependencies = event.get("payload", {}).get("dependencies", []) |
34 | 36 | for lst in dependencies:
|
35 | 37 | _TELEMETRY_DEPENDENCIES.extend(lst)
|
36 |
| - print(f"flushed events {dependencies}", flush=True) |
37 |
| - return res |
| 38 | + print(f"Captured dependencies: {dependencies}", flush=True) |
| 39 | + return _send_event(self, event) |
38 | 40 |
|
39 | 41 |
|
40 |
| -TelemetryWriter._flush_events_queue = _flush_events_wrapper |
| 42 | +_TelemetryClient.send_event = _send_event_wrapper |
41 | 43 |
|
42 | 44 |
|
43 | 45 | @app.route("/")
|
|
0 commit comments