Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions apps/website/content/docs/telemetry/guides/browser.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@ telemetry.captureRuntimeInstanceCreated({
model: 'gpt-4.1',
});

telemetry.captureRuntimeRequestCreated({
transport: 'langgraph',
requestType: 'stream',
provider: 'openai',
model: 'gpt-4.1',
});

telemetry.captureStreamStarted({ transport: 'langgraph', provider: 'openai', model: 'gpt-4.1' });
telemetry.captureStreamEnded({ transport: 'langgraph', provider: 'openai', model: 'gpt-4.1', durationMs: 1200 });
telemetry.captureStreamErrored({ transport: 'langgraph', provider: 'openai', model: 'gpt-4.1', error });
Expand Down
12 changes: 12 additions & 0 deletions apps/website/content/docs/telemetry/guides/node.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Node telemetry lives under `@threadplane/telemetry/node`. It is intended for pac
```ts
import {
captureRuntimeInstanceCreated,
captureRuntimeRequestCreated,
captureStreamStarted,
captureStreamEnded,
captureStreamErrored,
Expand Down Expand Up @@ -37,6 +38,17 @@ await captureRuntimeInstanceCreated({

The `RuntimeInstanceTelemetry` type includes `apiKey`, but the adapter strips it before sending. Do not pass secrets as telemetry properties anyway.

Use `captureRuntimeRequestCreated()` when a runtime issues a request. The `RuntimeRequestTelemetry` type requires `transport` and `requestType`; `provider` and `model` are optional.

```ts
await captureRuntimeRequestCreated({
transport: 'langgraph',
requestType: 'stream',
provider: 'openai',
model: 'gpt-4.1',
});
```

## Capture streams

```ts
Expand Down
3 changes: 3 additions & 0 deletions apps/website/content/docs/telemetry/reference/events.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ type ThreadplaneEvent = ThreadplaneNodeEvent | ThreadplaneBrowserEvent;
type ThreadplaneNodeEvent =
| 'ngaf:postinstall'
| 'ngaf:runtime_instance_created'
| 'ngaf:runtime_request_created'
| 'ngaf:stream_started'
| 'ngaf:stream_ended'
| 'ngaf:stream_errored';
Expand All @@ -21,6 +22,7 @@ type ThreadplaneNodeEvent =
| ------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `ngaf:postinstall` | package postinstall script | `pkg`, `version`, `node`, `node_version`, `os`, `arch`, `global_install`, package-manager fields when npm exposes them |
| `ngaf:runtime_instance_created` | Node adapter helper | `transport`, `provider`, `model`, `angularVersion`; `apiKey` is removed |
| `ngaf:runtime_request_created` | Node adapter helper | `transport`, `requestType`, `provider`, `model` (`provider` and `model` optional) |
| `ngaf:stream_started` | Node adapter helper | `provider`, `model`, optional fields in the input object |
| `ngaf:stream_ended` | Node adapter helper | `provider`, `model`, `durationMs` when supplied |
| `ngaf:stream_errored` | Node adapter helper | stream properties plus `errorClass` |
Expand All @@ -42,6 +44,7 @@ type ThreadplaneTelemetryEvent =
| 'ngaf:browser_provided'
| 'ngaf:browser_chat_init'
| 'ngaf:runtime_instance_created'
| 'ngaf:runtime_request_created'
| 'ngaf:stream_started'
| 'ngaf:stream_ended'
| 'ngaf:stream_errored';
Expand Down
Loading