Skip to content

Commit 1248818

Browse files
authored
chore: update grafana dashboard, .gitattributes, github actions (#2693)
1 parent 9ac9fa1 commit 1248818

File tree

5 files changed

+112
-131
lines changed

5 files changed

+112
-131
lines changed

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.pb.go linguist-generated=true
2+
*.pb.*.go linguist-generated=true
3+
proto/internal/buf.lock linguist-generated=true

.github/workflows/build-test.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
with:
5959
username: "${{ env.DOCKERHUB_PUBLIC_USER }}"
6060
password: "${{ env.DOCKERHUB_PUBLIC_ACCESS_TOKEN }}"
61-
- uses: "authzed/actions/go-build@11667c9b2e8b3649ad2af4d788e57d18f8e8eaf1" # main
61+
- uses: "authzed/actions/go-build@70432bd54a9e690d7fe19817dda46d8e4c0a2c3a" # main
6262
- name: "Image tests"
6363
run: "go run mage.go test:image"
6464

@@ -429,7 +429,7 @@ jobs:
429429
# Benchmarks on Main are ran through a different workflow
430430
if: |
431431
needs.paths-filter.outputs.codechange == 'true' &&
432-
github.ref_name != 'main'
432+
github.base_ref != 'main'
433433
steps:
434434
- uses: "actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493" # v4.2.2
435435
with:

development/grafana/dashboards/dashboard.json

Lines changed: 100 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -124,20 +124,15 @@
124124
"type": "prometheus",
125125
"uid": "${DS_PROMETHEUS}"
126126
},
127-
"disableTextWrap": false,
128-
"editorMode": "builder",
129-
"expr": "histogram_quantile(0.95, sum by(le, grpc_method, grpc_service) (rate(grpc_server_handling_seconds_bucket{job=\"spicedb\"}[$__rate_interval])))",
130-
"fullMetaSearch": false,
131-
"includeNullMetadata": true,
132-
"instant": true,
127+
"editorMode": "code",
128+
"expr": "histogram_quantile(0.99, sum by(le, grpc_method, grpc_service) (rate(grpc_server_handling_seconds_bucket{job=\"spicedb\"}[$__rate_interval])))",
133129
"key": "Q-52ee0e33-980f-4a19-9821-39530de9f304-0",
134130
"legendFormat": "{{grpc_service}}/{{grpc_method}}",
135131
"range": true,
136-
"refId": "A",
137-
"useBackend": false
132+
"refId": "A"
138133
}
139134
],
140-
"title": "p95 Latency by Method",
135+
"title": "p99 Latency by Method",
141136
"type": "timeseries"
142137
},
143138
{
@@ -238,7 +233,7 @@
238233
"type": "prometheus",
239234
"uid": "${DS_PROMETHEUS}"
240235
},
241-
"description": "5xx errors",
236+
"description": "Response codes",
242237
"fieldConfig": {
243238
"defaults": {
244239
"color": {
@@ -318,107 +313,13 @@
318313
"uid": "${DS_PROMETHEUS}"
319314
},
320315
"editorMode": "code",
321-
"expr": "sum by(grpc_method, grpc_code) (increase(grpc_server_handled_total{grpc_code!=\"OK\", grpc_code!=\"AlreadyExists\", grpc_code!=\"Canceled\", grpc_code!=\"InvalidArgument\", grpc_code!=\"NotFound\", grpc_code!=\"PermissionDenied\", grpc_code!=\"FailedPrecondition\", grpc_service=~\".*PermissionsService|.*SchemaService|.*ExperimentalService\"}[$__rate_interval]))",
316+
"expr": "sum by(grpc_method, grpc_code) (increase(grpc_server_handled_total{grpc_service=~\".*PermissionsService|.*SchemaService|.*ExperimentalService\"}[$__rate_interval]))",
322317
"legendFormat": "{{grpc_method}} ({{grpc_code}})",
323318
"range": true,
324319
"refId": "A"
325320
}
326321
],
327-
"title": "5xx Errors",
328-
"type": "timeseries"
329-
},
330-
{
331-
"datasource": {
332-
"type": "prometheus",
333-
"uid": "${DS_PROMETHEUS}"
334-
},
335-
"description": "All other (non-5xx) errors",
336-
"fieldConfig": {
337-
"defaults": {
338-
"color": {
339-
"mode": "palette-classic"
340-
},
341-
"custom": {
342-
"axisCenteredZero": false,
343-
"axisColorMode": "text",
344-
"axisLabel": "",
345-
"axisPlacement": "auto",
346-
"barAlignment": 0,
347-
"drawStyle": "line",
348-
"fillOpacity": 0,
349-
"gradientMode": "none",
350-
"hideFrom": {
351-
"legend": false,
352-
"tooltip": false,
353-
"viz": false
354-
},
355-
"lineInterpolation": "linear",
356-
"lineWidth": 1,
357-
"pointSize": 5,
358-
"scaleDistribution": {
359-
"type": "linear"
360-
},
361-
"showPoints": "auto",
362-
"spanNulls": false,
363-
"stacking": {
364-
"group": "A",
365-
"mode": "none"
366-
},
367-
"thresholdsStyle": {
368-
"mode": "off"
369-
}
370-
},
371-
"mappings": [],
372-
"thresholds": {
373-
"mode": "absolute",
374-
"steps": [
375-
{
376-
"color": "green",
377-
"value": null
378-
},
379-
{
380-
"color": "red",
381-
"value": 80
382-
}
383-
]
384-
},
385-
"unit": "reqps"
386-
},
387-
"overrides": []
388-
},
389-
"gridPos": {
390-
"h": 8,
391-
"w": 12,
392-
"x": 12,
393-
"y": 11
394-
},
395-
"id": 29,
396-
"options": {
397-
"legend": {
398-
"calcs": [],
399-
"displayMode": "table",
400-
"placement": "bottom",
401-
"showLegend": true
402-
},
403-
"tooltip": {
404-
"mode": "single",
405-
"sort": "none"
406-
}
407-
},
408-
"targets": [
409-
{
410-
"datasource": {
411-
"type": "prometheus",
412-
"uid": "${DS_PROMETHEUS}"
413-
},
414-
"editorMode": "code",
415-
"expr": "sum by(grpc_code,grpc_method) (increase(grpc_server_handled_total{grpc_code!=\"OK\", grpc_code!=\"Canceled\", grpc_code!=\"DeadlineExceeded\", grpc_code!=\"Unavailable\", grpc_code!=\"Internal\", grpc_code!=\"Unknown\", grpc_service=~\".*PermissionsService|.*SchemaService|authzed.api.v1.ExperimentalService\"}[$__rate_interval]))",
416-
"legendFormat": "{{grpc_method}} ({{grpc_code}})",
417-
"range": true,
418-
"refId": "A"
419-
}
420-
],
421-
"title": "Other Errors",
322+
"title": "Response Codes",
422323
"type": "timeseries"
423324
},
424325
{
@@ -519,12 +420,12 @@
519420
"uid": "${DS_PROMETHEUS}"
520421
},
521422
"editorMode": "code",
522-
"expr": "histogram_quantile(0.95, sum by(le, operation) (rate(spicedb_datastore_query_latency_bucket[$__rate_interval])))",
423+
"expr": "histogram_quantile(0.99, sum by(le, operation) (rate(spicedb_datastore_query_latency_bucket[$__rate_interval])))",
523424
"range": true,
524425
"refId": "A"
525426
}
526427
],
527-
"title": "p95 Latency by Datastore Operation",
428+
"title": "p99 Latency by Datastore Operation",
528429
"type": "timeseries"
529430
},
530431
{
@@ -811,7 +712,7 @@
811712
},
812713
"editorMode": "builder",
813714
"expr": "go_goroutines{job=\"spicedb\"}",
814-
"legendFormat": "Goroutines (Count)",
715+
"legendFormat": "Goroutines ({{instance}})",
815716
"range": true,
816717
"refId": "A"
817718
},
@@ -823,7 +724,7 @@
823724
"editorMode": "builder",
824725
"expr": "irate(go_goroutines{job=\"spicedb\"}[$__rate_interval])",
825726
"hide": false,
826-
"legendFormat": "Goroutine (Derivative)",
727+
"legendFormat": "Goroutine Derivative ({{instance}})",
827728
"range": true,
828729
"refId": "B"
829730
}
@@ -888,7 +789,24 @@
888789
},
889790
"unit": "s"
890791
},
891-
"overrides": []
792+
"overrides": [
793+
{
794+
"matcher": {
795+
"id": "byRegexp",
796+
"options": "count.*"
797+
},
798+
"properties": [
799+
{
800+
"id": "custom.axisPlacement",
801+
"value": "right"
802+
},
803+
{
804+
"id": "unit",
805+
"value": "short"
806+
}
807+
]
808+
}
809+
]
892810
},
893811
"gridPos": {
894812
"h": 8,
@@ -915,14 +833,26 @@
915833
"type": "prometheus",
916834
"uid": "${DS_PROMETHEUS}"
917835
},
918-
"editorMode": "builder",
919-
"expr": "histogram_quantile(0.95, sum by(le) (rate(go_sched_pauses_total_gc_seconds_bucket[$__rate_interval])))",
920-
"legendFormat": "p95",
836+
"editorMode": "code",
837+
"expr": "histogram_quantile(0.99, sum by(le, instance) (rate(go_sched_pauses_total_gc_seconds_bucket[$__rate_interval])))",
838+
"legendFormat": "p99 of duration ({{instance}})",
921839
"range": true,
922840
"refId": "A"
841+
},
842+
{
843+
"datasource": {
844+
"type": "prometheus",
845+
"uid": "${DS_PROMETHEUS}"
846+
},
847+
"editorMode": "code",
848+
"expr": "go_gc_cycles_total_gc_cycles_total",
849+
"hide": false,
850+
"legendFormat": "count ({{instance}})",
851+
"range": true,
852+
"refId": "B"
923853
}
924854
],
925-
"title": "Go GC Pause Duration",
855+
"title": "GC (garbage collection)",
926856
"type": "timeseries"
927857
},
928858
{
@@ -938,7 +868,7 @@
938868
"custom": {
939869
"axisCenteredZero": false,
940870
"axisColorMode": "text",
941-
"axisLabel": "",
871+
"axisLabel": "bytes",
942872
"axisPlacement": "auto",
943873
"barAlignment": 0,
944874
"drawStyle": "line",
@@ -981,7 +911,28 @@
981911
},
982912
"unit": "bytes"
983913
},
984-
"overrides": []
914+
"overrides": [
915+
{
916+
"matcher": {
917+
"id": "byRegexp",
918+
"options": "Usage % .*"
919+
},
920+
"properties": [
921+
{
922+
"id": "custom.axisPlacement",
923+
"value": "right"
924+
},
925+
{
926+
"id": "custom.axisLabel",
927+
"value": "usage %"
928+
},
929+
{
930+
"id": "unit",
931+
"value": "percent"
932+
}
933+
]
934+
}
935+
]
985936
},
986937
"gridPos": {
987938
"h": 8,
@@ -995,7 +946,7 @@
995946
"calcs": [],
996947
"displayMode": "list",
997948
"placement": "bottom",
998-
"showLegend": false
949+
"showLegend": true
999950
},
1000951
"tooltip": {
1001952
"mode": "single",
@@ -1009,10 +960,32 @@
1009960
"uid": "${DS_PROMETHEUS}"
1010961
},
1011962
"editorMode": "builder",
1012-
"expr": "go_memstats_heap_alloc_bytes{job=\"spicedb\"}",
1013-
"legendFormat": "{{label_name}}",
963+
"expr": "go_memstats_heap_inuse_bytes{job=\"spicedb\"}",
964+
"legendFormat": "Heap In Use ({{instance}})",
1014965
"range": true,
1015966
"refId": "A"
967+
},
968+
{
969+
"datasource": {
970+
"type": "prometheus",
971+
"uid": "${DS_PROMETHEUS}"
972+
},
973+
"editorMode": "builder",
974+
"expr": "go_gc_gomemlimit_bytes{job=\"spicedb\"}",
975+
"legendFormat": "GOMEMLIMIT ({{instance}})",
976+
"range": true,
977+
"refId": "B"
978+
},
979+
{
980+
"datasource": {
981+
"type": "prometheus",
982+
"uid": "${DS_PROMETHEUS}"
983+
},
984+
"editorMode": "builder",
985+
"expr": "spicedb_memory_middleware_memory_usage_percent{job=\"spicedb\"}",
986+
"legendFormat": "Usage % ({{instance}})",
987+
"range": true,
988+
"refId": "C"
1016989
}
1017990
],
1018991
"title": "Heap Memory Usage",
@@ -1059,7 +1032,7 @@
10591032
"mode": "off"
10601033
}
10611034
},
1062-
"displayName": "malloc/sec",
1035+
"displayName": "malloc/sec ({{instance}})",
10631036
"mappings": [],
10641037
"thresholds": {
10651038
"mode": "absolute",
@@ -1104,7 +1077,7 @@
11041077
},
11051078
"editorMode": "builder",
11061079
"expr": "rate(go_memstats_mallocs_total{job=\"spicedb\"}[$__rate_interval])",
1107-
"legendFormat": "__auto",
1080+
"legendFormat": "{{instance}}",
11081081
"range": true,
11091082
"refId": "A"
11101083
}
@@ -1197,7 +1170,7 @@
11971170
},
11981171
"editorMode": "builder",
11991172
"expr": "rate(go_sync_mutex_wait_total_seconds_total[$__rate_interval])",
1200-
"legendFormat": "__auto",
1173+
"legendFormat": "{{instance}}",
12011174
"range": true,
12021175
"refId": "A"
12031176
}
@@ -1291,12 +1264,12 @@
12911264
},
12921265
"editorMode": "builder",
12931266
"expr": "rate(go_memstats_alloc_bytes_total{job=\"spicedb\"}[$__rate_interval])",
1294-
"legendFormat": "__auto",
1267+
"legendFormat": "bytes/sec ({{instance}}",
12951268
"range": true,
12961269
"refId": "A"
12971270
}
12981271
],
1299-
"title": "Heap Allocation Rate (bytes/sec)",
1272+
"title": "Heap Allocation Rate",
13001273
"type": "timeseries"
13011274
}
13021275
],
@@ -1329,13 +1302,13 @@
13291302
]
13301303
},
13311304
"time": {
1332-
"from": "now-30m",
1305+
"from": "now-1h",
13331306
"to": "now"
13341307
},
13351308
"timepicker": {},
13361309
"timezone": "",
13371310
"title": "SpiceDB Dashboard",
13381311
"uid": "qvsJJ_6Hk",
1339-
"version": 1,
1312+
"version": 7,
13401313
"weekStart": ""
13411314
}

0 commit comments

Comments
 (0)