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)

Reply via email to