You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrea Cosentino (Jira)" <ji...@apache.org> on 2026/05/08 13:15:00 UTC

[jira] [Created] (CAMEL-23460) camel-telemetry - Add span decorators for Google Cloud

Andrea Cosentino created CAMEL-23460:
----------------------------------------

             Summary: camel-telemetry - Add span decorators for Google Cloud
                 Key: CAMEL-23460
                 URL: https://issues.apache.org/jira/browse/CAMEL-23460
             Project: Camel
          Issue Type: Improvement
          Components: camel-telemetry
            Reporter: Andrea Cosentino
            Assignee: Andrea Cosentino


We have span decorators for AWS components in camel-telemetry (CAMEL-23387 covered all 36 AWS components across 6 PRs: #23038, #23040, #23045, #23077, #23081 and #23083). The follow-up mentioned in CAMEL-23387's description was to add equivalent span decorators for Google Cloud components.

Google Cloud components in components/camel-google/ (15 schemes; camel-google-common is a shared utility module):

* camel-google-bigquery
* camel-google-calendar
* camel-google-drive
* camel-google-firestore
* camel-google-functions
* camel-google-mail
* camel-google-pubsub
* camel-google-pubsub-lite
* camel-google-secret-manager
* camel-google-sheets
* camel-google-speech-to-text
* camel-google-storage
* camel-google-text-to-speech
* camel-google-vertexai
* camel-google-vision

Each decorator should follow the patterns established by the AWS work in CAMEL-23387:

* Extend AbstractSpanDecorator (or AbstractMessagingSpanDecorator for messaging-style consumers like PubSub)
* Mirror header constants from each component's *Constants interface (Javadoc reference back to the source) to avoid creating hard dependencies from camel-telemetry to the Google component modules
* Tag selection rules established in the AWS work:
** Never emit values that may contain secrets, PII or large binary payloads (audio/video/image bytes, embeddings, vocabulary lists, secret values, etc.)
** Prefer the request _target_ over the response payload
** Don't surface IAM-principal / identity ARNs / account IDs (the same minimization principle that drove KMS keyId, CloudTrail username, IAM userName, EKS roleArn, Comprehend endpointArn drops)
* Register decorators alphabetically in META-INF/services/org.apache.camel.telemetry.SpanDecorator
* Unit tests covering header-to-tag extraction for each decorator

Suggested batching (similar in size to AWS PRs, ~5-7 components per PR):

* Messaging & storage: PubSub, PubSub Lite, Storage, BigQuery, Firestore
* Workspace / productivity: Calendar, Drive, Mail, Sheets
* AI/ML & misc: Speech-to-Text, Text-to-Speech, Vision, VertexAI, Functions, Secret Manager



--
This message was sent by Atlassian Jira
(v8.20.10#820010)