[
https://issues.apache.org/jira/browse/CAMEL-23460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino updated CAMEL-23460:
-------------------------------------
Fix Version/s: 4.22.0
> 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
> Priority: Major
> Fix For: 4.22.0
>
>
> 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)