Telemetry data collection
Naia Build records telemetry for each session to power the Naia Build Dashboard and per-user, per-key usage and cost tracking. This applies to both Neptune DXP - Open Edition and Neptune DXP - SAP Edition.
This telemetry is not anonymized. It includes developer identity, for example, user email, and the full text of prompts and generated responses. Request records are scoped to the originating developer, who sees only their own logs in the Naia Build Dashboard. Naia Build retains this non-anonymized data for six months. After six months, the same data is retained for a further six months in anonymized form. See Security and data for how this fits the wider data-handling model.
Telemetry fields and descriptions
| Field | Type | Description |
|---|---|---|
sessionId |
Text |
WebSocket session UUID |
clientName |
Text |
Client identity, in the format "Account / email" |
timestamp |
Timestamp |
Session start time |
query |
Text |
User’s original message or prompt, full text, no truncation |
appName |
Text |
Neptune DXP application name |
totalComponents |
Integer |
Total UI components in the app at request time |
chatMode |
Text |
Mode: 'agent', 'plan', 'ask', 'debug', or 'on-demand' |
provider |
Text |
AI provider: 'claude' or 'gemini' |
model |
Text |
Effective model ID, for example, 'claude-sonnet-4-6' or 'gemini-3-flash-preview' |
inputTokens |
Integer |
Cumulative fresh input tokens, not cached |
outputTokens |
Integer |
Cumulative output tokens generated by the AI |
cacheReadTokens |
Integer |
Tokens read from cache |
cacheCreationTokens |
Integer |
Tokens written to cache |
totalTokens |
Integer |
Sum of all token fields |
cacheHitRate |
Decimal |
Percentage: cacheRead / (input + cacheRead + cacheCreation) * 100 |
cacheStatus |
Text |
'full_hit', 'partial_hit', 'write_only', or 'miss' |
inputCost |
Decimal |
inputTokens / 1M * price |
outputCost |
Decimal |
outputTokens / 1M * price |
cacheReadCost |
Decimal |
cacheReadTokens / 1M * price |
cacheWriteCost |
Decimal |
cacheCreationTokens / 1M * price |
totalCost |
Decimal |
Sum of all cost fields |
noCacheCost |
Decimal |
Hypothetical cost without caching |
savedPercent |
Decimal |
(noCacheCost - totalCost) / noCacheCost * 100 |
durationMs |
Integer |
Total session duration in milliseconds |
durationStr |
Text |
Human-readable duration, for example, '1m 23s' |
iterations |
Integer |
Number of AI iteration loops |
apiCalls |
Integer |
Number of individual API calls to the AI provider |
toolCallCount |
Integer |
Total tool calls executed during the session |
componentsCreated |
Integer |
UI components created during the session |
toolNames |
JSON |
Array of unique tool names used |
response |
Text |
AI’s final text response, full text, no truncation |
status |
Text |
Session outcome: 'completed', 'error', or 'cancelled' |
runAppCheckCalled |
Boolean |
Whether the run-app check was called |
runAppCheckPassed |
Boolean |
Whether the last run-app check passed |
runAppCheckFailCount |
Integer |
Number of failed run-app checks |
prepareValidationCalled |
Boolean |
Whether prepare-for-validation was called |
prepareValidationPassed |
Boolean |
Whether prepare-validation passed |
hadTruncation |
Boolean |
Whether any AI response was truncated |
errorCount |
Integer |
Total errors during the session |
timeline |
JSON |
Full event timeline array; each element records type, timestamp, iteration, and data |
llmModel |
Text |
Model identifier recorded for the session |
pageUrl |
Text |
URL of the application in the App Designer for the session |
userEmail |
Text |
Email address of the developer running the session |
customerid |
Text |
Account or customer identifier |
usedKeyType |
Text |
Type of key used, for example, foundational or BYOK |
billingMode |
Text |
Billing mode applied to the session |
usageScope |
Text |
Scope the usage is attributed to, for example, personal or organization |
effort |
Text |
Selected model effort level, from Low to Max |
freeKeyId |
Text |
Identifier of the foundational key, when used |
usedKeyID |
Text |
Identifier of the key used for the session |
createdAt |
Timestamp |
Date when the record was created |
updatedAt |
Timestamp |
Date when the record was updated |