Skip to content

Commit 5866e0e

Browse files
vertex-sdk-botcopybara-github
authored andcommitted
feat: Update the ADK template to export logs directly to Cloud Logging when OTEL_SEMCONV_STABILITY_OPT_IN is set to "gen_ai_latest_experimental".
PiperOrigin-RevId: 868620139
1 parent a63e8d5 commit 5866e0e

2 files changed

Lines changed: 46 additions & 18 deletions

File tree

  • vertexai
    • agent_engines/templates
    • preview/reasoning_engines/templates

vertexai/agent_engines/templates/adk.py

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -454,17 +454,31 @@ def force_flush(
454454
return True
455455

456456
logger_provider = opentelemetry.sdk._logs.LoggerProvider(resource=resource)
457-
logger_provider.add_log_record_processor(
458-
_SimpleLogRecordProcessor(
459-
opentelemetry.exporter.cloud_logging.CloudLoggingExporter(
460-
project_id=project_id,
461-
default_log_name=os.getenv(
462-
"GCP_DEFAULT_LOG_NAME", "adk-on-agent-engine"
457+
if "gen_ai_latest_experimental" in os.getenv(
458+
"OTEL_SEMCONV_STABILITY_OPT_IN", ""
459+
).split(","):
460+
logger_provider.add_log_record_processor(
461+
opentelemetry.sdk._logs.export.BatchLogRecordProcessor(
462+
opentelemetry.exporter.cloud_logging.CloudLoggingExporter(
463+
project_id=project_id,
464+
default_log_name=os.getenv(
465+
"GCP_DEFAULT_LOG_NAME", "adk-on-agent-engine"
466+
),
463467
),
464-
structured_json_file=sys.stdout,
465-
),
468+
)
469+
)
470+
else:
471+
logger_provider.add_log_record_processor(
472+
_SimpleLogRecordProcessor(
473+
opentelemetry.exporter.cloud_logging.CloudLoggingExporter(
474+
project_id=project_id,
475+
default_log_name=os.getenv(
476+
"GCP_DEFAULT_LOG_NAME", "adk-on-agent-engine"
477+
),
478+
structured_json_file=sys.stdout,
479+
),
480+
)
466481
)
467-
)
468482
event_logger_provider = opentelemetry.sdk._events.EventLoggerProvider(
469483
logger_provider=logger_provider
470484
)

vertexai/preview/reasoning_engines/templates/adk.py

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -456,17 +456,31 @@ def force_flush(
456456
return True
457457

458458
logger_provider = opentelemetry.sdk._logs.LoggerProvider(resource=resource)
459-
logger_provider.add_log_record_processor(
460-
_SimpleLogRecordProcessor(
461-
opentelemetry.exporter.cloud_logging.CloudLoggingExporter(
462-
project_id=project_id,
463-
default_log_name=os.getenv(
464-
"GCP_DEFAULT_LOG_NAME", "adk-on-agent-engine"
459+
if "gen_ai_latest_experimental" in os.getenv(
460+
"OTEL_SEMCONV_STABILITY_OPT_IN", ""
461+
).split(","):
462+
logger_provider.add_log_record_processor(
463+
opentelemetry.sdk._logs.export.BatchLogRecordProcessor(
464+
opentelemetry.exporter.cloud_logging.CloudLoggingExporter(
465+
project_id=project_id,
466+
default_log_name=os.getenv(
467+
"GCP_DEFAULT_LOG_NAME", "adk-on-agent-engine"
468+
),
465469
),
466-
structured_json_file=sys.stdout,
467-
),
470+
)
471+
)
472+
else:
473+
logger_provider.add_log_record_processor(
474+
_SimpleLogRecordProcessor(
475+
opentelemetry.exporter.cloud_logging.CloudLoggingExporter(
476+
project_id=project_id,
477+
default_log_name=os.getenv(
478+
"GCP_DEFAULT_LOG_NAME", "adk-on-agent-engine"
479+
),
480+
structured_json_file=sys.stdout,
481+
),
482+
)
468483
)
469-
)
470484
event_logger_provider = opentelemetry.sdk._events.EventLoggerProvider(
471485
logger_provider=logger_provider
472486
)

0 commit comments

Comments
 (0)