# Data Sync Activity block

> Hourly data sync activity chart for all connections with a Runs or Rows toggle and a source filter

Data sync activity over 24 hours as Recharts columns stacked by outcome, under runs, landed, failed and rows synced stats. Tooltips name failing and slow connections; a menu exports CSV or copies a summary. ReUI Frame, Badge. ETL pipeline health.

- Type: Pro block
- Category: [Bar Chart](https://web.dev.reui.io/blocks/chart/bar-chart.md)
- Page: https://web.dev.reui.io/blocks/chart/bar-chart/chart-45
- MCP: `get_block("chart-45")`
- Built with: Badge, Button, Button Group, Chart, Dropdown Menu, Empty, Frame, Separator, Spinner, Toggle Group, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

Activity pooled across many connections, filtered by source type, where an hour's tooltip names the failing and slow connections

## Agent notes

- Replace `RAW_CONNECTIONS` in data.tsx; each `pattern` string sets 24 hourly outcomes and `hoursOf` invents row counts with `prng`
- `refresh` only waits `REFRESH_MS`, replays the column rise and sets `synced` to just now; wire it to refetch your connection runs
- `INTEGRATION_CATEGORY` sets each integration's Sources group and Rows tooltip slice; a new `IntegrationId` also needs a mark in `INTEGRATION_LOGO`

## When not to use

- One source's hours above a list of its newest runs, durations and error text: use [Sync Run History](https://web.dev.reui.io/blocks/chart/bar-chart/chart-47.md) (`get_block("chart-47")`)
- The same hourly activity on a full connections page with a grid and a setup flow: use [Data Connections](https://web.dev.reui.io/blocks/solutions/dev-ops/solution-dev-ops-6.md) (`get_block("solution-dev-ops-6")`)

## Third-party libraries

- Recharts v3: [API reference](https://recharts.github.io/en-US/api/), [docs](https://recharts.github.io/en-US/guide/getting-started/)
- Motion v12: [API reference](https://motion.dev/docs/react-motion-component), [docs](https://motion.dev/docs/react) (the docs follow the latest Motion, with no React API break since v12)
- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)

## Install

```bash
npx shadcn@latest add @reui/chart-45
```

## About Bar Chart blocks

### When to use

- Amounts compared across years, weeks, categories or regions as prisms, patterned bars, pills or lanes
- Activity over time stacked by outcome, such as job runs, audit events, firewall requests or data syncs
- Run durations and error budgets read against a timeout, a warning line or a paging threshold

### When not to use

- A share of a whole where the slices read better around a ring: use the [Pie Chart blocks](https://web.dev.reui.io/blocks/chart/pie-chart.md)
- A capacity or allocation split into colored segments on one meter, with no axis: use the [Stats blocks](https://web.dev.reui.io/blocks/application/stats.md)
- Rows of jobs or deploys, each with its own run history strip: use the [Status Tracker blocks](https://web.dev.reui.io/blocks/chart/status-tracker.md)

### Agent notes

- `Chart` renders with no props and fetches nothing, so every bar, lane and limit is seeded from constants in the block folder

Every ReUI item has a twin like this one; the index is https://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
