package metrics import ( "context" "fmt" monitoring "cloud.google.com/go/monitoring/apiv3/v2" ) type Client struct { client *monitoring.MetricClient ctx context.Context ProjectID string } // New creates a new GCP Metric client. func New(ctx context.Context, projectID string) (*Client, error) { client, err := monitoring.NewMetricClient(ctx) // may need to add options later if err != nil { return nil, fmt.Errorf("metrics.New: failed to create metric client. error: %w", err) } return &Client{ client: client, ctx: ctx, ProjectID: projectID, }, nil }