fix(otel): use monotonic_counter prefix and support temporality env var (#7234)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Adrian Cole
2026-02-16 16:45:15 -05:00
committed by GitHub
parent dbf57c81fd
commit 4a5848ea76
7 changed files with 52 additions and 25 deletions
+8 -8
View File
@@ -66,7 +66,7 @@ fn track_tool_telemetry(content: &MessageContent, all_messages: &[Message]) {
let result_status = if success { "success" } else { "error" };
tracing::info!(
counter.goose.tool_completions = 1,
monotonic_counter.goose.tool_completions = 1,
tool_name = %tool_name,
result = %result_status,
"Tool call completed"
@@ -209,7 +209,7 @@ pub async fn reply(
let session_start = std::time::Instant::now();
tracing::info!(
counter.goose.session_starts = 1,
monotonic_counter.goose.session_starts = 1,
session_type = "app",
interface = "ui",
"Session started"
@@ -225,7 +225,7 @@ pub async fn reply(
.unwrap_or_else(|| "unknown".to_string());
tracing::info!(
counter.goose.recipe_runs = 1,
monotonic_counter.goose.recipe_runs = 1,
recipe_name = %recipe_name,
recipe_version = %recipe_version,
session_type = "app",
@@ -396,7 +396,7 @@ pub async fn reply(
if let Ok(session) = state.session_manager().get_session(&session_id, true).await {
let total_tokens = session.total_tokens.unwrap_or(0);
tracing::info!(
counter.goose.session_completions = 1,
monotonic_counter.goose.session_completions = 1,
session_type = "app",
interface = "ui",
exit_type = "normal",
@@ -407,7 +407,7 @@ pub async fn reply(
);
tracing::info!(
counter.goose.session_duration_ms = session_duration.as_millis() as u64,
monotonic_counter.goose.session_duration_ms = session_duration.as_millis() as u64,
session_type = "app",
interface = "ui",
"Session duration"
@@ -415,7 +415,7 @@ pub async fn reply(
if total_tokens > 0 {
tracing::info!(
counter.goose.session_tokens = total_tokens,
monotonic_counter.goose.session_tokens = total_tokens,
session_type = "app",
interface = "ui",
"Session tokens"
@@ -423,7 +423,7 @@ pub async fn reply(
}
} else {
tracing::info!(
counter.goose.session_completions = 1,
monotonic_counter.goose.session_completions = 1,
session_type = "app",
interface = "ui",
exit_type = "normal",
@@ -434,7 +434,7 @@ pub async fn reply(
);
tracing::info!(
counter.goose.session_duration_ms = session_duration.as_millis() as u64,
monotonic_counter.goose.session_duration_ms = session_duration.as_millis() as u64,
session_type = "app",
interface = "ui",
"Session duration"
+1 -1
View File
@@ -274,7 +274,7 @@ async fn run_now_handler(
let recipe_version_tag = recipe_version_opt.as_deref().unwrap_or("");
tracing::info!(
counter.goose.recipe_runs = 1,
monotonic_counter.goose.recipe_runs = 1,
recipe_name = %recipe_display_name,
recipe_version = %recipe_version_tag,
session_type = "schedule",