Skip to content

Instantly share code, notes, and snippets.

@billyjacobson
Created February 16, 2023 15:46
Show Gist options
  • Select an option

  • Save billyjacobson/3b468cdbfeeac537f22e72923cafc8c2 to your computer and use it in GitHub Desktop.

Select an option

Save billyjacobson/3b468cdbfeeac537f22e72923cafc8c2 to your computer and use it in GitHub Desktop.
Bigtable Client-side Metrics: Import this JSON into the Google Cloud metric explorer to have a dashboard showing all the new metrics in two graphs, so you can visualize this new data easily. View directions to do this in the cloud documentation https://cloud.google.com/monitoring/charts/dashboards#install-dashboard
{
"category": "CUSTOM",
"dashboardFilters": [],
"displayName": "Bigtable client side metrics",
"labels": {},
"mosaicLayout": {
"columns": 12,
"tiles": [
{
"height": 4,
"widget": {
"title": "Bigtable client latencies (ms)",
"xyChart": {
"chartOptions": {
"mode": "COLOR"
},
"dataSets": [
{
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"apiSource": "DEFAULT_CLOUD",
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_PERCENTILE_50",
"groupByFields": [],
"perSeriesAligner": "ALIGN_DELTA"
},
"filter": "metric.type=\"bigtable.googleapis.com/client/attempt_latencies\" resource.type=\"bigtable_table\"",
"secondaryAggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_NONE",
"perSeriesAligner": "ALIGN_NONE"
}
}
}
},
{
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"apiSource": "DEFAULT_CLOUD",
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_PERCENTILE_50",
"groupByFields": [],
"perSeriesAligner": "ALIGN_DELTA"
},
"filter": "metric.type=\"bigtable.googleapis.com/client/operation_latencies\" resource.type=\"bigtable_table\"",
"secondaryAggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_NONE",
"perSeriesAligner": "ALIGN_NONE"
}
}
}
},
{
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"apiSource": "DEFAULT_CLOUD",
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_PERCENTILE_50",
"groupByFields": [],
"perSeriesAligner": "ALIGN_DELTA"
},
"filter": "metric.type=\"bigtable.googleapis.com/client/operation_latencies\" resource.type=\"bigtable_table\"",
"secondaryAggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_NONE",
"perSeriesAligner": "ALIGN_NONE"
}
}
}
},
{
"legendTemplate": "Bigtable server - server latencies",
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"apiSource": "DEFAULT_CLOUD",
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_PERCENTILE_50",
"groupByFields": [],
"perSeriesAligner": "ALIGN_DELTA"
},
"filter": "metric.type=\"bigtable.googleapis.com/server/latencies\" resource.type=\"bigtable_table\"",
"secondaryAggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_NONE",
"perSeriesAligner": "ALIGN_NONE"
}
}
}
},
{
"legendTemplate": "GFE server latencies",
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"apiSource": "DEFAULT_CLOUD",
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_PERCENTILE_50",
"groupByFields": [],
"perSeriesAligner": "ALIGN_DELTA"
},
"filter": "metric.type=\"bigtable.googleapis.com/client/server_latencies\" resource.type=\"bigtable_table\"",
"secondaryAggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_NONE",
"perSeriesAligner": "ALIGN_NONE"
}
}
}
},
{
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"apiSource": "DEFAULT_CLOUD",
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_PERCENTILE_50",
"groupByFields": [],
"perSeriesAligner": "ALIGN_DELTA"
},
"filter": "metric.type=\"bigtable.googleapis.com/client/application_blocking_latencies\" resource.type=\"bigtable_table\"",
"secondaryAggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_NONE",
"perSeriesAligner": "ALIGN_NONE"
}
}
}
}
],
"thresholds": [],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
},
"width": 6,
"xPos": 0,
"yPos": 0
},
{
"height": 4,
"widget": {
"title": "Bigtable latency counts",
"xyChart": {
"chartOptions": {
"mode": "COLOR"
},
"dataSets": [
{
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"apiSource": "DEFAULT_CLOUD",
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_NONE",
"perSeriesAligner": "ALIGN_RATE"
},
"filter": "metric.type=\"bigtable.googleapis.com/client/connectivity_error_count\" resource.type=\"bigtable_table\"",
"secondaryAggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"resource.label.\"instance\""
],
"perSeriesAligner": "ALIGN_NONE"
}
}
}
},
{
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"apiSource": "DEFAULT_CLOUD",
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_NONE",
"perSeriesAligner": "ALIGN_RATE"
},
"filter": "metric.type=\"bigtable.googleapis.com/client/retry_count\" resource.type=\"bigtable_table\"",
"secondaryAggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"resource.label.\"instance\""
],
"perSeriesAligner": "ALIGN_NONE"
}
}
}
}
],
"thresholds": [],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
},
"width": 6,
"xPos": 6,
"yPos": 0
}
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment