2026-02-23 18:54:01 +00:00
{
"annotations" : {
"list" : [ ]
} ,
"editable" : true ,
"fiscalYearStartMonth" : 0 ,
"graphTooltip" : 1 ,
"id" : null ,
"links" : [ ] ,
"liveNow" : false ,
"panels" : [
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : {
"defaults" : { "unit" : "reqps" , "color" : { "mode" : "palette-classic" } } ,
"overrides" : [ ]
} ,
"gridPos" : { "h" : 6 , "w" : 6 , "x" : 0 , "y" : 0 } ,
"id" : 1 ,
"options" : { "reduceOptions" : { "calcs" : [ "lastNotNull" ] } , "orientation" : "auto" , "showThresholdLabels" : false } ,
"targets" : [ { "expr" : "sum(rate(veza_gin_http_requests_total{job=\"veza-backend\"}[5m]))" , "refId" : "A" } ] ,
"title" : "Request rate (req/s)" ,
"type" : "stat"
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : {
"defaults" : { "unit" : "s" , "color" : { "mode" : "palette-classic" } } ,
"overrides" : [ ]
} ,
"gridPos" : { "h" : 6 , "w" : 6 , "x" : 6 , "y" : 0 } ,
"id" : 2 ,
"options" : { "reduceOptions" : { "calcs" : [ "lastNotNull" ] } , "orientation" : "auto" , "showThresholdLabels" : false } ,
"targets" : [ { "expr" : "histogram_quantile(0.95, sum(rate(veza_gin_http_request_duration_seconds_bucket{job=\"veza-backend\"}[5m])) by (le))" , "refId" : "A" } ] ,
"title" : "p95 Latency (s)" ,
"type" : "stat"
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : {
"defaults" : { "unit" : "short" , "color" : { "mode" : "palette-classic" } } ,
"overrides" : [ ]
} ,
"gridPos" : { "h" : 6 , "w" : 6 , "x" : 12 , "y" : 0 } ,
"id" : 3 ,
"options" : { "reduceOptions" : { "calcs" : [ "lastNotNull" ] } , "orientation" : "auto" , "showThresholdLabels" : false } ,
"targets" : [ { "expr" : "sum(rate(veza_gin_http_requests_total{job=\"veza-backend\",status=~\"5..\"}[5m]))" , "refId" : "A" } ] ,
"title" : "5xx errors rate" ,
"type" : "stat"
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : {
"defaults" : { "unit" : "short" , "color" : { "mode" : "palette-classic" } } ,
"overrides" : [ ]
} ,
"gridPos" : { "h" : 6 , "w" : 6 , "x" : 18 , "y" : 0 } ,
"id" : 4 ,
"options" : { "reduceOptions" : { "calcs" : [ "lastNotNull" ] } , "orientation" : "auto" , "showThresholdLabels" : false } ,
"targets" : [ { "expr" : "veza_db_pool_open_connections{job=\"veza-backend\"}" , "refId" : "A" } ] ,
"title" : "DB pool connections" ,
"type" : "stat"
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : {
"defaults" : { "unit" : "reqps" , "color" : { "mode" : "palette-classic" } } ,
"overrides" : [ ]
} ,
"gridPos" : { "h" : 8 , "w" : 12 , "x" : 0 , "y" : 6 } ,
"id" : 5 ,
"options" : { "legend" : { "displayMode" : "list" , "placement" : "bottom" } } ,
"targets" : [ { "expr" : "sum(rate(veza_gin_http_requests_total{job=\"veza-backend\"}[5m])) by (path, status)" , "legendFormat" : "{{path}} {{status}}" , "refId" : "A" } ] ,
"title" : "Request rate by path" ,
"type" : "timeseries"
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : {
"defaults" : { "unit" : "s" , "color" : { "mode" : "palette-classic" } } ,
"overrides" : [ ]
} ,
"gridPos" : { "h" : 8 , "w" : 12 , "x" : 12 , "y" : 6 } ,
"id" : 6 ,
"options" : { "legend" : { "displayMode" : "list" , "placement" : "bottom" } } ,
"targets" : [
{ "expr" : "histogram_quantile(0.50, sum(rate(veza_gin_http_request_duration_seconds_bucket{job=\"veza-backend\"}[5m])) by (le))" , "legendFormat" : "p50" , "refId" : "A" } ,
{ "expr" : "histogram_quantile(0.95, sum(rate(veza_gin_http_request_duration_seconds_bucket{job=\"veza-backend\"}[5m])) by (le))" , "legendFormat" : "p95" , "refId" : "B" } ,
{ "expr" : "histogram_quantile(0.99, sum(rate(veza_gin_http_request_duration_seconds_bucket{job=\"veza-backend\"}[5m])) by (le))" , "legendFormat" : "p99" , "refId" : "C" }
] ,
"title" : "Latency percentiles" ,
"type" : "timeseries"
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : {
"defaults" : { "unit" : "short" , "color" : { "mode" : "palette-classic" } } ,
"overrides" : [ ]
} ,
"gridPos" : { "h" : 8 , "w" : 12 , "x" : 0 , "y" : 14 } ,
"id" : 7 ,
"options" : { "legend" : { "displayMode" : "list" , "placement" : "bottom" } } ,
"targets" : [ { "expr" : "sum(rate(veza_errors_by_http_status_total{job=\"veza-backend\"}[5m])) by (http_status)" , "legendFormat" : "{{http_status}}" , "refId" : "A" } ] ,
"title" : "Error rate by HTTP status" ,
"type" : "timeseries"
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : {
"defaults" : { "unit" : "short" , "color" : { "mode" : "palette-classic" } } ,
"overrides" : [ ]
} ,
"gridPos" : { "h" : 8 , "w" : 12 , "x" : 12 , "y" : 14 } ,
"id" : 8 ,
"options" : { "legend" : { "displayMode" : "list" , "placement" : "bottom" } } ,
"targets" : [
{ "expr" : "veza_db_pool_open_connections{job=\"veza-backend\"}" , "legendFormat" : "open" , "refId" : "A" } ,
{ "expr" : "veza_db_pool_in_use{job=\"veza-backend\"}" , "legendFormat" : "in_use" , "refId" : "B" } ,
{ "expr" : "veza_db_pool_idle{job=\"veza-backend\"}" , "legendFormat" : "idle" , "refId" : "C" }
] ,
"title" : "DB pool stats" ,
"type" : "timeseries"
chore(release): v0.602 — Payout, Dette Technique & Tests E2E
- Stripe Connect: onboarding, balance, SellerDashboardView
- Interceptors: auth.ts, error.ts extracted, facade
- Grafana: dashboards enriched (p50, top endpoints, 4xx, WS, commerce)
- E2E commerce: product->order->review->invoice
- SMOKE_TEST_V0602, RETROSPECTIVE_V0602, PAYOUT_MANUAL
- Archive V0_602 scope, V0_603 placeholder, SCOPE_CONTROL v0.603
- Fix sanitizer regex (Go no backreferences)
- Marketplace test schema: product_licenses, product_images, orders, licenses
2026-02-23 21:32:01 +00:00
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : { "defaults" : { "unit" : "s" , "color" : { "mode" : "palette-classic" } } , "overrides" : [ ] } ,
"gridPos" : { "h" : 6 , "w" : 6 , "x" : 0 , "y" : 22 } ,
"id" : 9 ,
"options" : { "reduceOptions" : { "calcs" : [ "lastNotNull" ] } , "orientation" : "auto" , "showThresholdLabels" : false } ,
"targets" : [ { "expr" : "histogram_quantile(0.50, sum(rate(veza_gin_http_request_duration_seconds_bucket{job=\"veza-backend\"}[5m])) by (le))" , "refId" : "A" } ] ,
"title" : "p50 Latency (s)" ,
"type" : "stat"
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : { "defaults" : { "unit" : "short" , "color" : { "mode" : "palette-classic" } } , "overrides" : [ ] } ,
"gridPos" : { "h" : 6 , "w" : 6 , "x" : 6 , "y" : 22 } ,
"id" : 10 ,
"options" : { "reduceOptions" : { "calcs" : [ "lastNotNull" ] } , "orientation" : "auto" , "showThresholdLabels" : false } ,
"targets" : [ { "expr" : "sum(rate(veza_gin_http_requests_total{job=\"veza-backend\",status=~\"4..\"}[5m]))" , "refId" : "A" } ] ,
"title" : "4xx errors rate" ,
"type" : "stat"
} ,
{
"datasource" : { "type" : "prometheus" , "uid" : "prometheus" } ,
"fieldConfig" : { "defaults" : { "unit" : "reqps" , "color" : { "mode" : "palette-classic" } } , "overrides" : [ ] } ,
"gridPos" : { "h" : 8 , "w" : 12 , "x" : 12 , "y" : 22 } ,
"id" : 11 ,
"options" : { "legend" : { "displayMode" : "list" , "placement" : "bottom" } } ,
"targets" : [ { "expr" : "topk(10, sum by (path) (rate(veza_gin_http_requests_total{job=\"veza-backend\"}[5m])))" , "legendFormat" : "{{path}}" , "refId" : "A" } ] ,
"title" : "Top 10 endpoints by volume" ,
"type" : "timeseries"
2026-02-23 18:54:01 +00:00
}
] ,
"refresh" : "30s" ,
"schemaVersion" : 38 ,
"style" : "dark" ,
"tags" : [ "veza" , "api" ] ,
"templating" : { "list" : [ ] } ,
"time" : { "from" : "now-1h" , "to" : "now" } ,
"timepicker" : { } ,
"timezone" : "browser" ,
"title" : "Veza API Overview" ,
"uid" : "veza-api-overview" ,
"version" : 1
}