← All blocks

Analytics with period switcher

dashboard · analytics-charts · dashboard-analytics-charts

npx shadcn@latest add @plus-ui/dashboard-analytics-charts

Default content

{
  "eyebrow": "pellora / production",
  "title": "Analytics",
  "description": "Traffic, deploy volume and the busiest services for the production project.",
  "actions": [
    {
      "label": "Export CSV",
      "href": "#export",
      "variant": "secondary"
    }
  ],
  "kpis": [
    {
      "label": "Deploys",
      "value": "1,284",
      "delta": "+12.4%",
      "direction": "up",
      "sentiment": "positive",
      "context": "vs. previous 7 days",
      "trend": [
        38,
        42,
        40,
        51,
        47,
        55,
        60,
        58,
        66,
        63,
        71,
        76
      ]
    },
    {
      "label": "Success rate",
      "value": "98.7%",
      "delta": "+0.6 pt",
      "direction": "up",
      "sentiment": "positive",
      "context": "1,267 of 1,284 ready",
      "trend": [
        70,
        72,
        69,
        74,
        78,
        76,
        80,
        79,
        83,
        82,
        85,
        86
      ]
    },
    {
      "label": "p95 latency",
      "value": "182 ms",
      "delta": "−38 ms",
      "direction": "down",
      "sentiment": "positive",
      "context": "edge, all regions",
      "trend": [
        82,
        78,
        80,
        71,
        66,
        69,
        58,
        55,
        52,
        49,
        44,
        41
      ]
    },
    {
      "label": "Build minutes",
      "value": "18,420",
      "delta": "+21%",
      "direction": "up",
      "sentiment": "negative",
      "context": "74% of plan limit",
      "trend": [
        30,
        34,
        33,
        40,
        44,
        43,
        50,
        56,
        55,
        63,
        68,
        74
      ]
    }
  ],
  "deployments": {
    "title": "Recent deployments",
    "link": {
      "label": "All deployments",
      "href": "#deployments"
    },
    "items": [
      {
        "service": "checkout-api",
        "commit": "Retry idempotent payment captures on 502",
        "sha": "a41f9c2",
        "branch": "main",
        "environment": "production",
        "status": "building",
        "author": "Ines Varga",
        "duration": "1m 12s",
        "time": "just now"
      },
      {
        "service": "edge-cache",
        "commit": "Raise stale-while-revalidate to 120s for /catalog",
        "sha": "7be03d1",
        "branch": "main",
        "environment": "production",
        "status": "ready",
        "author": "Tomás Rieder",
        "duration": "48s",
        "time": "6 min ago"
      },
      {
        "service": "web-storefront",
        "commit": "Lazy-load reviews carousel below the fold",
        "sha": "c90e4b7",
        "branch": "perf/reviews",
        "environment": "preview",
        "status": "ready",
        "author": "Aiko Brandt",
        "duration": "2m 03s",
        "time": "21 min ago"
      },
      {
        "service": "search-indexer",
        "commit": "Bump tokenizer to 4.2 and rebuild synonyms",
        "sha": "e12aa58",
        "branch": "main",
        "environment": "staging",
        "status": "failed",
        "author": "Kwame Asante",
        "duration": "3m 41s",
        "time": "38 min ago"
      },
      {
        "service": "auth-gateway",
        "commit": "Rotate session signing key",
        "sha": "5d7c3f0",
        "branch": "main",
        "environment": "production",
        "status": "ready",
        "author": "Mira Castell",
        "duration": "56s",
        "time": "1 h ago"
      }
    ]
  },
  "incidents": {
    "title": "Incidents",
    "link": {
      "label": "Status page",
      "href": "#status"
    },
    "summary": "1 open · 2 resolved this week",
    "items": [
      {
        "title": "Elevated 5xx on payment capture in eu-west",
        "service": "checkout-api",
        "severity": "SEV-2",
        "status": "monitoring",
        "time": "Started 42 min ago"
      },
      {
        "title": "Cache miss storm after catalog purge",
        "service": "edge-cache",
        "severity": "SEV-3",
        "status": "resolved",
        "time": "Resolved in 18 min"
      },
      {
        "title": "Build queue stalled on arm64 runners",
        "service": "build-runners",
        "severity": "SEV-3",
        "status": "resolved",
        "time": "Resolved in 31 min"
      }
    ]
  },
  "statusLabels": {
    "ready": "Ready",
    "building": "Building",
    "queued": "Queued",
    "failed": "Failed",
    "canceled": "Canceled",
    "investigating": "Investigating",
    "identified": "Identified",
    "monitoring": "Monitoring",
    "resolved": "Resolved"
  },
  "analytics": {
    "periodLabel": "Time range",
    "breakdownTitle": "Deploys by environment",
    "servicesTitle": "Top services",
    "columns": {
      "service": "Service",
      "deploys": "Deploys",
      "p95": "p95",
      "errorRate": "Errors",
      "trend": "Requests"
    },
    "periods": [
      {
        "label": "24h",
        "chart": {
          "title": "Requests per minute",
          "value": "48.2k",
          "delta": "+6.1% vs. yesterday",
          "points": [
            22,
            18,
            15,
            14,
            17,
            26,
            41,
            55,
            63,
            66,
            70,
            68,
            72,
            75,
            71,
            69,
            74,
            80,
            77,
            64,
            52,
            41,
            33,
            27
          ],
          "labels": [
            "00:00",
            "06:00",
            "12:00",
            "18:00",
            "Now"
          ]
        },
        "breakdown": [
          {
            "label": "preview",
            "value": "121",
            "share": 100
          },
          {
            "label": "production",
            "value": "64",
            "share": 53
          },
          {
            "label": "staging",
            "value": "38",
            "share": 31
          }
        ],
        "services": [
          {
            "name": "checkout-api",
            "team": "Payments",
            "deploys": "14",
            "p95": "212 ms",
            "errorRate": "0.42%",
            "errorSentiment": "negative",
            "trend": [
              40,
              44,
              52,
              61,
              58,
              66,
              72,
              70,
              76,
              74
            ]
          },
          {
            "name": "web-storefront",
            "team": "Storefront",
            "deploys": "22",
            "p95": "164 ms",
            "errorRate": "0.04%",
            "errorSentiment": "positive",
            "trend": [
              30,
              35,
              33,
              41,
              48,
              52,
              50,
              57,
              61,
              66
            ]
          },
          {
            "name": "edge-cache",
            "team": "Platform",
            "deploys": "9",
            "p95": "11 ms",
            "errorRate": "0.01%",
            "errorSentiment": "positive",
            "trend": [
              55,
              58,
              54,
              60,
              62,
              61,
              65,
              63,
              68,
              70
            ]
          },
          {
            "name": "auth-gateway",
            "team": "Identity",
            "deploys": "6",
            "p95": "38 ms",
            "errorRate": "0.02%",
            "errorSentiment": "positive",
            "trend": [
              44,
              46,
              45,
              47,
              49,
              48,
              50,
              52,
              51,
              53
            ]
          },
          {
            "name": "search-indexer",
            "team": "Discovery",
            "deploys": "11",
            "p95": "96 ms",
            "errorRate": "0.18%",
            "errorSentiment": "neutral",
            "trend": [
              20,
              26,
              24,
              31,
              29,
              35,
              38,
              36,
              42,
              40
            ]
          }
        ]
      },
      {
        "label": "7d",
        "chart": {
          "title": "Requests per minute",
          "value": "44.9k",
          "delta": "+11.8% vs. last week",
          "points": [
            41,
            47,
            52,
            50,
            46,
            38,
            35,
            44,
            51,
            56,
            58,
            54,
            43,
            39,
            49,
            55,
            61,
            63,
            59,
            47,
            44
          ],
          "labels": [
            "Thu",
            "Sat",
            "Mon",
            "Wed",
            "Today"
          ]
        },
        "breakdown": [
          {
            "label": "preview",
            "value": "702",
            "share": 100
          },
          {
            "label": "production",
            "value": "389",
            "share": 55
          },
          {
            "label": "staging",
            "value": "193",
            "share": 27
          }
        ],
        "services": [
          {
            "name": "web-storefront",
            "team": "Storefront",
            "deploys": "148",
            "p95": "171 ms",
            "errorRate": "0.05%",
            "errorSentiment": "positive",
            "trend": [
              41,
              47,
              52,
              50,
              46,
              44,
              51,
              56,
              58,
              63
            ]
          },
          {
            "name": "checkout-api",
            "team": "Payments",
            "deploys": "96",
            "p95": "204 ms",
            "errorRate": "0.31%",
            "errorSentiment": "negative",
            "trend": [
              38,
              42,
              47,
              45,
              52,
              55,
              51,
              60,
              66,
              71
            ]
          },
          {
            "name": "search-indexer",
            "team": "Discovery",
            "deploys": "71",
            "p95": "102 ms",
            "errorRate": "0.12%",
            "errorSentiment": "neutral",
            "trend": [
              25,
              28,
              34,
              30,
              37,
              41,
              39,
              44,
              46,
              49
            ]
          },
          {
            "name": "edge-cache",
            "team": "Platform",
            "deploys": "54",
            "p95": "12 ms",
            "errorRate": "0.01%",
            "errorSentiment": "positive",
            "trend": [
              60,
              62,
              61,
              64,
              66,
              63,
              67,
              69,
              68,
              72
            ]
          },
          {
            "name": "auth-gateway",
            "team": "Identity",
            "deploys": "37",
            "p95": "41 ms",
            "errorRate": "0.02%",
            "errorSentiment": "positive",
            "trend": [
              45,
              44,
              47,
              46,
              48,
              50,
              49,
              51,
              53,
              52
            ]
          },
          {
            "name": "image-proxy",
            "team": "Platform",
            "deploys": "22",
            "p95": "58 ms",
            "errorRate": "0.07%",
            "errorSentiment": "neutral",
            "trend": [
              33,
              35,
              31,
              36,
              38,
              37,
              40,
              42,
              41,
              44
            ]
          }
        ]
      },
      {
        "label": "30d",
        "chart": {
          "title": "Requests per minute",
          "value": "41.3k",
          "delta": "+24% vs. previous 30 days",
          "points": [
            28,
            30,
            33,
            31,
            35,
            38,
            36,
            40,
            44,
            42,
            47,
            50,
            48,
            53,
            57,
            55,
            60,
            63,
            61,
            66,
            70,
            68,
            73,
            76
          ],
          "labels": [
            "Sep 9",
            "Sep 17",
            "Sep 25",
            "Oct 3",
            "Today"
          ]
        },
        "breakdown": [
          {
            "label": "preview",
            "value": "3,048",
            "share": 100
          },
          {
            "label": "production",
            "value": "1,612",
            "share": 53
          },
          {
            "label": "staging",
            "value": "804",
            "share": 26
          },
          {
            "label": "canary",
            "value": "211",
            "share": 7
          }
        ],
        "services": [
          {
            "name": "web-storefront",
            "team": "Storefront",
            "deploys": "611",
            "p95": "176 ms",
            "errorRate": "0.06%",
            "errorSentiment": "positive",
            "trend": [
              30,
              34,
              39,
              42,
              47,
              50,
              55,
              58,
              63,
              68
            ]
          },
          {
            "name": "checkout-api",
            "team": "Payments",
            "deploys": "402",
            "p95": "198 ms",
            "errorRate": "0.24%",
            "errorSentiment": "neutral",
            "trend": [
              35,
              38,
              41,
              46,
              49,
              53,
              57,
              60,
              64,
              70
            ]
          },
          {
            "name": "search-indexer",
            "team": "Discovery",
            "deploys": "288",
            "p95": "99 ms",
            "errorRate": "0.11%",
            "errorSentiment": "neutral",
            "trend": [
              22,
              26,
              29,
              33,
              35,
              40,
              43,
              45,
              49,
              52
            ]
          },
          {
            "name": "edge-cache",
            "team": "Platform",
            "deploys": "219",
            "p95": "12 ms",
            "errorRate": "0.01%",
            "errorSentiment": "positive",
            "trend": [
              55,
              57,
              59,
              60,
              62,
              64,
              65,
              67,
              69,
              71
            ]
          },
          {
            "name": "auth-gateway",
            "team": "Identity",
            "deploys": "146",
            "p95": "40 ms",
            "errorRate": "0.03%",
            "errorSentiment": "positive",
            "trend": [
              42,
              43,
              45,
              46,
              47,
              49,
              50,
              51,
              52,
              54
            ]
          },
          {
            "name": "notifications-svc",
            "team": "Messaging",
            "deploys": "93",
            "p95": "64 ms",
            "errorRate": "0.09%",
            "errorSentiment": "neutral",
            "trend": [
              18,
              21,
              24,
              23,
              27,
              30,
              29,
              33,
              36,
              38
            ]
          }
        ]
      }
    ]
  }
}