Skip to content

Commit 675814b

Browse files
sparsi17claude
andauthored
feat: Add golden and summary metrics for four GCP entity types (#3027)
* feat: Add GCPCLOUDTASKSQUEUE entity definition Adds golden_metrics.yml, summary_metrics.yml, and dashboard.json for GCP Cloud Tasks Queue. Updates definition.yml with goldenTags (gcp.projectId, gcp.region — queues are region-scoped). Golden metrics: queue depth (max), task attempt count (sum), task attempt delay (average, ms). Dashboard adds 3 additional widgets faceted by response code, API method, and max delay. * feat: Add GCPAIPLATFORMPIPELINEJOB Metric-based entity definition - Add goldenTags (gcp.projectId, gcp.region) - Add Metric-based queries to golden_metrics.yml alongside legacy Sample entries - Update summary_metrics.yml formatting - Add dashboard.json with 4 widgets (duration + task_completed_count) * feat: Add GCPFIREBASESTORAGEBUCKET entity definition Adds golden metrics, summary metrics, dashboard and goldenTags for Firebase Storage. Uses the Firebase-specific metric gcp.firebasestorage.rules.evaluation_count (GA, DELTA) — the sole firebasestorage.googleapis.com metric on gcs_bucket resource. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat: Add GCPINTERCONNECTATTACHMENT entity definition Adds golden_metrics.yml, summary_metrics.yml, and dashboard.json for GCP Interconnect Attachment. All 11 GA metrics under interconnect.googleapis.com/network/attachment/* are covered: 5 golden (Capacity, Ingress/Egress Bytes and Packets) plus dropped packets and by-L3-protocol variants on the dashboard. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: Remove dashboard.json files from four GCP entity folders Drops dashboard.json from: - entity-types/infra-gcpaiplatformpipelinejob/ - entity-types/infra-gcpcloudtasksqueue/ - entity-types/infra-gcpfirebasestoragebucket/ - entity-types/infra-gcpinterconnectattachment/ Dashboard definitions are now maintained solely in infra-summary templates; entity-definitions no longer carries per-entity dashboards. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(gcpaiplatformpipelinejob): rename golden metric query key `provider` -> `gcp` The Metric-based query blocks in golden_metrics.yml were keyed under `provider:` — this file used `gcp:` consistently before but the two new entries drifted. Rename both to `gcp:` to match the sibling GCP entity convention (single query key per data source). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 6b8abe9 commit 675814b

11 files changed

Lines changed: 203 additions & 4 deletions

File tree

entity-types/infra-gcpaiplatformpipelinejob/definition.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ configuration:
44
entityExpirationTime: DAILY
55
alertable: true
66

7+
goldenTags:
8+
- gcp.projectId
9+
- gcp.region
10+
711
ownership:
812
primaryOwner:
913
teamName: "Cloud Monitoring Platform"

entity-types/infra-gcpaiplatformpipelinejob/golden_metrics.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,27 @@ jobDuration:
22
title: Runtime seconds of the pipeline job being executed (from creation to end)
33
unit: SECONDS
44
queries:
5+
gcp:
6+
select: average(`gcp.aiplatform.pipelinejob.duration`)
7+
from: Metric
8+
eventId: entity.guid
9+
eventName: entity.name
510
gcpSample:
611
select: average(`pipelinejob.Duration`)
712
from: GcpVertexAiPipelineJobSample
813
eventId: entityGuid
914
eventName: entityName
1015
taskCompletedCount:
1116
title: Total number of completed PipelineTasks
12-
unit: COUNT
17+
unit: COUNT
1318
queries:
19+
gcp:
20+
select: sum(`gcp.aiplatform.pipelinejob.task_completed_count`)
21+
from: Metric
22+
eventId: entity.guid
23+
eventName: entity.name
1424
gcpSample:
1525
select: sum(`pipelinejob.TaskCompletedCount`)
1626
from: GcpVertexAiPipelineJobSample
1727
eventId: entityGuid
18-
eventName: entityName
28+
eventName: entityName

entity-types/infra-gcpaiplatformpipelinejob/summary_metrics.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ jobDuration:
1515
taskCompletedCount:
1616
goldenMetric: taskCompletedCount
1717
unit: COUNT
18-
title: Total number of completed PipelineTasks
18+
title: Total number of completed PipelineTasks
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
domain: INFRA
22
type: GCPCLOUDTASKSQUEUE
3+
goldenTags:
4+
- gcp.projectId
5+
- gcp.region
36
configuration:
47
entityExpirationTime: DAILY
58
alertable: true
6-
79
ownership:
810
primaryOwner:
911
teamName: "Cloud Monitoring Platform"
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
queueDepth:
2+
title: Queue Depth
3+
unit: COUNT
4+
queries:
5+
gcp:
6+
select: max(gcp.cloudtasks.queue.depth)
7+
from: Metric
8+
eventId: entity.guid
9+
eventName: entity.name
10+
taskAttemptCount:
11+
title: Task Attempt Count
12+
unit: COUNT
13+
queries:
14+
gcp:
15+
select: sum(gcp.cloudtasks.queue.task_attempt_count)
16+
from: Metric
17+
eventId: entity.guid
18+
eventName: entity.name
19+
taskAttemptDelay:
20+
title: Task Attempt Delay
21+
unit: MS
22+
queries:
23+
gcp:
24+
select: average(gcp.cloudtasks.queue.task_attempt_delays)
25+
from: Metric
26+
eventId: entity.guid
27+
eventName: entity.name
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
providerAccountName:
2+
tag:
3+
key: providerAccountName
4+
title: GCP account
5+
unit: STRING
6+
gcpProjectId:
7+
tag:
8+
key: gcp.projectId
9+
title: GCP Project ID
10+
unit: STRING
11+
queueDepth:
12+
goldenMetric: queueDepth
13+
unit: COUNT
14+
title: Queue Depth
15+
taskAttemptCount:
16+
goldenMetric: taskAttemptCount
17+
unit: COUNT
18+
title: Task Attempt Count
19+
taskAttemptDelay:
20+
goldenMetric: taskAttemptDelay
21+
unit: MS
22+
title: Task Attempt Delay

entity-types/infra-gcpfirebasestoragebucket/definition.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
domain: INFRA
22
type: GCPFIREBASESTORAGEBUCKET
3+
goldenTags:
4+
- gcp.projectId
5+
- gcp.region
36
configuration:
47
entityExpirationTime: DAILY
58
alertable: true
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
ruleEvaluations:
2+
title: Rule evaluations
3+
unit: COUNT
4+
queries:
5+
gcp:
6+
select: sum(gcp.firebasestorage.rules.evaluation_count)
7+
from: Metric
8+
eventId: entity.guid
9+
eventName: entity.name
10+
11+
denyRate:
12+
title: Deny rate
13+
unit: PERCENTAGE
14+
queries:
15+
gcp:
16+
select: filter(sum(gcp.firebasestorage.rules.evaluation_count), WHERE `metric.result` = 'DENY') * 100 / sum(gcp.firebasestorage.rules.evaluation_count)
17+
from: Metric
18+
eventId: entity.guid
19+
eventName: entity.name
20+
21+
errorCount:
22+
title: Rule evaluation errors
23+
unit: COUNT
24+
queries:
25+
gcp:
26+
select: sum(gcp.firebasestorage.rules.evaluation_count)
27+
from: Metric
28+
where: "`metric.result` = 'ERROR'"
29+
eventId: entity.guid
30+
eventName: entity.name
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
providerAccountName:
2+
tag:
3+
key: providerAccountName
4+
title: GCP account
5+
unit: STRING
6+
7+
gcpProjectId:
8+
tag:
9+
key: gcp.projectId
10+
title: GCP Project ID
11+
unit: STRING
12+
13+
ruleEvaluations:
14+
goldenMetric: ruleEvaluations
15+
title: Rule evaluations
16+
unit: COUNT
17+
18+
denyRate:
19+
goldenMetric: denyRate
20+
title: Deny rate
21+
unit: PERCENTAGE
22+
23+
errorCount:
24+
goldenMetric: errorCount
25+
title: Rule evaluation errors
26+
unit: COUNT
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
capacity:
2+
title: Network Capacity
3+
unit: BYTES
4+
queries:
5+
gcp:
6+
select: max(`gcp.interconnect.network.attachment.capacity`)
7+
from: Metric
8+
eventId: entity.guid
9+
eventName: entity.name
10+
receivedBytes:
11+
title: Ingress Bytes
12+
unit: BYTES
13+
queries:
14+
gcp:
15+
select: sum(`gcp.interconnect.network.attachment.received_bytes_count`)
16+
from: Metric
17+
eventId: entity.guid
18+
eventName: entity.name
19+
sentBytes:
20+
title: Egress Bytes
21+
unit: BYTES
22+
queries:
23+
gcp:
24+
select: sum(`gcp.interconnect.network.attachment.sent_bytes_count`)
25+
from: Metric
26+
eventId: entity.guid
27+
eventName: entity.name
28+
receivedPackets:
29+
title: Ingress Packets
30+
unit: COUNT
31+
queries:
32+
gcp:
33+
select: sum(`gcp.interconnect.network.attachment.received_packets_count`)
34+
from: Metric
35+
eventId: entity.guid
36+
eventName: entity.name
37+
sentPackets:
38+
title: Egress Packets
39+
unit: COUNT
40+
queries:
41+
gcp:
42+
select: sum(`gcp.interconnect.network.attachment.sent_packets_count`)
43+
from: Metric
44+
eventId: entity.guid
45+
eventName: entity.name

0 commit comments

Comments
 (0)