> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For full documentation content, see https://docs.nvidia.com/nemo/relay/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Struct Atif Exporter

> Collects lifecycle events and exports them as ATIF trajectories.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi`.

```rust
pub struct AtifExporter { /* private fields */ }
```

Collects lifecycle events and exports them as ATIF trajectories.

Register this exporter as an event subscriber via [`AtifExporter::subscriber`](/reference/api/rust-library-reference/nemo-relay/observability/atif/struct-atifexporter), then call [`AtifExporter::export`](/reference/api/rust-library-reference/nemo-relay/observability/atif/struct-atifexporter) to produce an [`AtifTrajectory`](/reference/api/rust-library-reference/nemo-relay/observability/atif/struct-atiftrajectory).

## Implementations

### `impl AtifExporter`

<pre />

#### `new`

<pre />

Create a new exporter with the given session metadata.

##### Parameters

* `session_id`: Stable identifier for the trajectory being collected.
* `agent_info`: Metadata describing the emitting agent.

##### Returns

A new [`AtifExporter`](/reference/api/rust-library-reference/nemo-relay/observability/atif/struct-atifexporter) with an empty in-memory event buffer.

#### `subscriber`

<pre />

Return an event subscriber function that records NeMo Relay events.

The returned callback can be registered with [`register_subscriber`](/reference/api/rust-library-reference/nemo-relay/api/subscriber/fn-register-subscriber).

##### Returns

An [`EventSubscriberFn`](/reference/api/rust-library-reference/nemo-relay/api/runtime/callbacks/type-eventsubscriberfn) that appends each observed event to this exporter's internal buffer.

#### `export`

<pre />

Export the collected event history as an [`AtifTrajectory`](/reference/api/rust-library-reference/nemo-relay/observability/atif/struct-atiftrajectory).

##### Returns

An [`AtifTrajectory`](/reference/api/rust-library-reference/nemo-relay/observability/atif/struct-atiftrajectory) synthesized from the events observed so far.

##### Errors

Returns an error if queued subscriber delivery cannot be flushed before the trajectory is cloned.

##### Notes

Exporting does not clear the buffered events. Call [`AtifExporter::clear`](/reference/api/rust-library-reference/nemo-relay/observability/atif/struct-atifexporter) when you need to reset the exporter between trajectories.

#### `try_export`

<pre />

Try to export the collected event history as an [`AtifTrajectory`](/reference/api/rust-library-reference/nemo-relay/observability/atif/struct-atiftrajectory).

This is equivalent to [`AtifExporter::export`](/reference/api/rust-library-reference/nemo-relay/observability/atif/struct-atifexporter) and is retained for callers that prefer an explicitly fallible method name.

#### `clear`

<pre />

Clear all collected events from the internal buffer.

##### Returns

`()`.