durable-actors-observer 0.6.1 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/dist/RequestTimeline.d.ts +7 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1309 -1108
- package/dist/request-timeline.d.ts +12 -0
- package/dist/standalone/app.css +1 -1
- package/dist/standalone/app.js +24 -24
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ export function Observability() {
|
|
|
22
22
|
|
|
23
23
|
Import `styles.css` once. The optional `theme.css` supplies light and dark theme tokens; omit it when the host supplies those tokens. Apply the `dark` class to an ancestor for dark mode.
|
|
24
24
|
|
|
25
|
-
The package exports `ActorObserver`, `RequestObserver`, `Overview`, `WebSocketObserver`, `ConsoleApp`, `SocketTimeline`, `TimeRangePicker`, and `FilterCombobox`, along with their named props types. It also exports the shared badge, button, calendar, command, input, popover, sheet, and table components from the package root. Use React's `ComponentProps<typeof Button>` (and equivalent) for primitive props.
|
|
25
|
+
The package exports `ActorObserver`, `RequestObserver`, `Overview`, `WebSocketObserver`, `ConsoleApp`, `RequestTimeline`, `SocketTimeline`, `TimeRangePicker`, and `FilterCombobox`, along with their named props types. It also exports the shared badge, button, calendar, command, input, popover, sheet, and table components from the package root. Use React's `ComponentProps<typeof Button>` (and equivalent) for primitive props.
|
|
26
26
|
|
|
27
27
|
Pass your own `ObserverClient` to connect these views to a hosted backend, or configure `HttpObserverClient` with your API prefix and fetch implementation. React remains a peer dependency. `ConsoleApp` provides the complete navigation shell and requires a `toggleTheme` callback; individual views can be placed inside your own navigation.
|
|
28
28
|
|
|
@@ -32,6 +32,12 @@ The observer version follows the SDK and runtime version. Run `pnpm release:prep
|
|
|
32
32
|
|
|
33
33
|
The localhost-only `durable-actors dev` runtime allows observability requests without a secret, even when a secret is configured for application routes. Hosted runtimes retain their configured admin authentication.
|
|
34
34
|
|
|
35
|
+
## Invocation waterfall
|
|
36
|
+
|
|
37
|
+
`RequestObserver` opens with a waterfall of retained method calls and WebSocket events, including inside an actor instance. Instance inspection combines identity, residency, and queue metrics in a compact header; Requests, State, and WebSockets views preserve inspection controls when switching. Each row shares a relative time axis and shows total duration, queue wait, and the gap or overlap with preceding calls on that instance. Select a row to inspect identifiers, outcomes, and exact timings; switch to Table for the tabular view. Live updates, pause, history filters, and loading older requests apply to both views.
|
|
38
|
+
|
|
39
|
+
Durations include queue wait, actor processing, and persistence. Gaps are calculated only from the calls loaded in the current view; filtered or unretained calls are not included. The waterfall uses request traces, so internal helper calls within one invocation are not separate spans. Embed `RequestTimeline` directly with `records` and an `onSelect(record, trigger)` callback when providing your own request controls.
|
|
40
|
+
|
|
35
41
|
## Persisted actor state
|
|
36
42
|
|
|
37
43
|
Select an actor instance in `ActorObserver` to inspect persisted fields, JSON types, nested values, and version diffs. Request and connection links filter the existing request history. The standard `HttpObserverClient` and `durable-actors observe` include this capability; custom clients implement `getState` and `listStateHistory` to enable it.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RequestTrace } from "./client.js";
|
|
2
|
+
export interface RequestTimelineProps {
|
|
3
|
+
records: RequestTrace[];
|
|
4
|
+
selected?: RequestTrace;
|
|
5
|
+
onSelect: (record: RequestTrace, trigger: HTMLButtonElement) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function RequestTimeline({ records, selected, onSelect }: RequestTimelineProps): import("react").JSX.Element;
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export { Overview } from "./Overview.js";
|
|
|
8
8
|
export type { OverviewProps } from "./Overview.js";
|
|
9
9
|
export { RequestObserver } from "./RequestObserver.js";
|
|
10
10
|
export type { RequestObserverProps } from "./RequestObserver.js";
|
|
11
|
+
export { RequestTimeline } from "./RequestTimeline.js";
|
|
12
|
+
export type { RequestTimelineProps } from "./RequestTimeline.js";
|
|
11
13
|
export { SocketTimeline } from "./SocketTimeline.js";
|
|
12
14
|
export type { SocketTimelineProps } from "./SocketTimeline.js";
|
|
13
15
|
export { TimeRangePicker } from "./TimeRangePicker.js";
|