Skip to content

Client metrics for cross-project GCS traffic #1017

Open
@dcrodman

Description

@dcrodman

Hi, I apologize if this duplicate or already documented somewhere I have not encountered but I've not found a record of this problem.

We are using the Go gRPC GCS client running in a self-hosted GCP K8s cluster to write to a mix of GCS buckets, some of which are in another project. After sorting out some other issues with the client (notably the prior GCP resource detection bug), we're now seeing logs like this from the metric exporter:

rpc error: code = InvalidArgument desc = Field timeSeries[0].resource.labels.project_id had an invalid value of "(redacted)": if present, must be the project number or ID in the request name

(where "(redacted)" is a correctly form project ID, seemingly pulled from the GCE instance metadata).

That is the entirety of the error message so it's difficult to be completely certain where the issue is, but I believe this is coming from the Cloud Monitoring CreateServiceTimeSeries API route. Digging around in there led me to this TODO:

// TODO: When this exporter is rewritten, support writing to multiple

Seeing as there's a TODO, I'm guessing this is a currently known/expected shortcoming? If so, is anyone able to share whether this is currently being addressed or planned in the near-mid future? Either way, if it's a limitation that is likely to exist for a while then from the perspective of an end user I'd lightly suggest that this would be worth mentioning on the gRPC client-side metrics documentation as it would've saved me (and possibly others) quite a bit of time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions