Skip to content

Explore and charts

Explore turns a window of recent messages into charts you can build, filter and present. Drag a field onto the canvas and you get a chart; click a bar and every chart filters to it. Under the hood, Explore loads the messages into DuckDB, an analytics database that runs inside your browser tab, so queries are fast and the data never leaves your machine. There’s no warehouse to set up and nothing to clean up afterwards.

Explore with the Fields palette on the left, listing payload fields from four clickstream topics with their types, and a canvas of six charts: topics, devices, countries, categories, a total_usd KPI and actions.Explore with the Fields palette on the left, listing payload fields from four clickstream topics with their types, and a canvas of six charts: topics, devices, countries, categories, a total_usd KPI and actions.

Explore works on a snapshot. Choose Load to copy the messages Akema is holding into the browser’s database. The charts then stay still while you work, even on a busy topic.

Control What it does
Load Takes a snapshot of the messages Akema is holding, from every source
Reload Takes a fresh snapshot, keeping your charts, layout and filters
Clear Empties the browser’s database. Charts and layout stay
Live Reloads automatically every 5, 10, 15, 30 or 60 seconds, so the charts follow the stream. Off by default

The menu next to Load chooses what goes into the snapshot:

  • Full view: every message Akema is holding.
  • Sample every N: 1 in every N messages, for a quick look at a large window.
  • Trapped only: only messages that matched a trap.

Details, under the Fields palette, shows how many messages were loaded. Explore loads what Akema is still holding, by default the newest 10,000 messages per source, not everything it has ever received. To look further back, raise Explore rings in Settings.

After a Load, the Fields palette lists everything Explore found in the messages, with how many distinct values each field has and its type:

  • Payload: fields inside the message value, including nested ones such as customer.country. With several topics loaded, fields are grouped by topic.
  • Measures: numbers you can add up or average, such as total_usd.
  • Envelope: details of each message, such as its topic, partition, offset, key and time.

A ⚠ marks a field with so many distinct values, such as an ID, that a chart of it would be unreadable.

Schema shows how Explore read each field, and lets you correct it:

  • Type: change a field’s type, for example to timestamp for a time stored as text, or enum for a code. The types are string, integer, number, boolean, timestamp, enum, json and array.
  • Role: make a field a Dimension (something to group by), a Measure (something to add up), or Ignore it to hide it from the palette.

Your corrections are kept and applied every time you load.

To get Do this
A count of messages by a field Drag the field onto the canvas
A sum, average, minimum or maximum Drop a measure onto a chart, then choose SUM, AVG, MIN or MAX
A single headline number Drag a measure onto empty canvas. You get a KPI card
A breakdown by two fields Drop a second field onto a chart, then choose Stacked bar or Heatmap
Messages over time Drag the time field, then choose a Line or Area chart

Explore picks a sensible chart for each field. To change it, open the chart’s ⋯ menu and choose a Visualization.

A dashboard titled Checkout health: KPI cards for total and average order value, a donut of order status, revenue by country as horizontal bars, payment method by status as stacked bars, and a heatmap of country by channel.A dashboard titled Checkout health: KPI cards for total and average order value, a donut of order status, revenue by country as horizontal bars, payment method by status as stacked bars, and a heatmap of country by channel.
Chart Best for
Auto Let Explore choose from the field’s type and values
Bar, Horizontal bar Comparing categories. Horizontal suits long labels
Line, Area Change over time
Donut Share of a whole, with a few categories
Histogram The spread of a number, such as order values or latency
Stacked bar, Stacked horizontal One field broken down by another
Heatmap Two fields at once, such as country by channel
Parallel coordinates Patterns across three or more fields
Table Exact values
KPI One number, such as total revenue

The ⋯ menu on each chart has the quick settings: Visualization, Max rows, Sort (by value or label, either way) and the Metric (COUNT, SUM, AVG, MIN or MAX). Time charts add the time bucket (auto, second, minute, hour or day), and histograms the number of bins.

For everything else, maximize the chart with ⛶. The chart fills the canvas with a Settings pane beside it:

Section Settings
Chart Visualization
Data Max rows and sort order. Explore raises the row limit by itself for heatmaps, parallel coordinates and time charts; Use this limit exactly keeps it at your number
Encode The dimensions and measure. Drag fields in from the palette, reorder or remove them
Display Value labels (auto, on or off), number format (compact such as 87.7k, full, or grouped such as 87,700), and options for the chart type
Style Series color and card background
A maximized heatmap of country by channel, with the Settings pane open on the right showing Chart, Data, Encode and Display sections.A maximized heatmap of country by channel, with the Settings pane open on the right showing Chart, Data, Encode and Display sections.

Click any bar, slice or cell to filter by that value. A tag appears in the filter bar, and every chart on the canvas updates to show only matching messages. Click the same value again to remove it.

  • Click several values to combine them.
  • The funnel icon on a chart cycles that chart’s filter between on, partial and off, so you can compare with and without it.
  • The funnel in the filter bar does the same for every filter at once.
  • Clear all removes every filter.

This is the fastest way to answer “why”: click payment_failed, and the other charts show which payment method, country and channel the failures come from.

Catalog shows a profile of every field side by side: a small chart of its values and a table of its most common values and how often each appears. Use it to see what’s in the data before you build anything.

The Catalog dialog showing profile columns for action, campaign, category, country and currency, each with a small bar chart and a value and count table.The Catalog dialog showing profile columns for action, campaign, category, country and currency, each with a small bar chart and a value and count table.
  • Click a value to filter by it, as on the canvas.
  • Filter the list by topic or source, or type to find a field.
  • Check the fields you want, choose a chart type under Add as and an arrangement under Layout, then choose Add Selected to add them all to the canvas at once.

The canvas is a board you can arrange freely.

  • Text blocks add titles and notes. Choose headline, subtitle, body or caption, and resize the block to scale the text.
  • Containers group charts into a grid. Each row can be split evenly (halves, thirds, quarters) or unevenly (wide left, wide middle, and so on). Select several charts and choose Group to put them in one.
  • Auto-layout arranges everything as a grid, row, column, pack or circle.
  • Use Pointer (V) to select and Pan (H) to move around. Zoom with the buttons or Ctrl/⌘ + scroll, Fit to see everything, and Focus to zoom to what’s selected. The Navigator in the corner shows where you are.
  • Clear removes the charts but keeps your filters. Reset all clears charts, containers, filters and layout, but keeps the loaded data.

The layout is saved with the workspace, so it’s there the next time you open Explore. To share it, export the workspace’s settings from Settings → Portable client prefs.

Present shows the canvas full screen as a clean, scrollable page: good for a meeting or a wall screen. The layout is locked so it can’t be moved by accident. Press Esc to exit.

Control What it does
Clean Hides card headers and tools. Labels keeps chart titles
Glass How solid the cards are over the background
Sizzle, Photo, Blur An animated or still background in the display cover’s style, softened with Blur
Live Keeps reloading while you present
Zoom, Pan Scale the board, or move around it freely instead of scrolling
Anchors Jump between the charts and text you marked with ⚓, in the order you choose

Present uses the colors of your display cover, such as Paper or Night, so charts match the rest of the screen.

Maximize is different: it gives the canvas the whole window while you keep editing, with the Fields palette still available.

For questions charts don’t answer, query the loaded data with SQL.

Advanced SQL runs DuckDB SQL against the loaded data and can export the result as CSV. It includes example queries to start from. Open it from Playbook (choose a table in the diagram) or from Enrich. The tables are:

Table What it holds
messages One row per loaded message: its envelope details and its JSON payload
v_messages, v_<topic> Views with each payload field as its own column, so you can write status instead of json_extract_string(payload, '$.status')
traps Each trap’s name, count and rate
enrich_<name> CSV files you’ve attached

Playbooks are saved checklists of queries and charts you run against each new window, such as “error rate by code” or “fields that went null”. Each cell is a read-only query or a chart; running a playbook never changes your canvas. A workspace can hold up to 8, and Akema includes samples to start from.

Enrich attaches a CSV file, such as a list of customers or product names, as an enrich_ table, so you can join it to messages in SQL. It survives Reload; Clear removes it.

If a topic has a redaction profile, Explore only ever receives the substitutes, and redacted fields carry a redacted chip in the palette. Tokens are consistent, so counts, group-by and distinct counts still work. Files loaded as fixtures aren’t redacted.

  • Charts look empty after a change elsewhere? Explore shows a snapshot. Choose Reload, or turn on Live.
  • Too many bars to read? Lower Max rows, or filter first.
  • A number is grouped like a category? Change its role to Measure in Schema.
  • A time isn’t treated as a time? Change its type to timestamp in Schema.
  • Explore is slow or the tab runs out of memory? Load with Sample every N, or see Settings for Explore engine RAM.