LogTide
v1.3.1
Released
Feature

1.3.1: Dashboard Panel Upgrades & Expanded Email Digests

A feature release. Five community-requested dashboard panel upgrades: per-panel pause, 12h/24h clock and timezone preferences, larger live streams, metadata Top-N tables and custom series labels. Email digests expand to fifteen toggleable sections, and MongoDB span sorting matches the other engines.

  • Per-panel pause (#296): freeze any dashboard panel while you read it; paused panels skip auto-refresh entirely
  • Display preferences (#297): 12h/24h clock and an explicit timezone for every dashboard panel timestamp
  • Top-N tables over any metadata key (#299): rank GeoIP places, hosts or status codes, with an optional Last seen column
  • Custom series labels for time series panels (#300): rename per-level series to match what they actually track
  • Email digests grow from five to fifteen sections, each toggleable per organization and off by default
  • MongoDB span queries now honor the same sort fields as TimescaleDB and ClickHouse, fixing slowest-spans ordering

A feature release. Custom dashboards pick up the five most-requested quality-of-life upgrades from the community, all filed by @SemoTech from a real WAN-monitoring setup: pausing individual panels, choosing your clock format and timezone, bigger live streams, Top-N tables over any metadata key, and naming your time series what they actually mean. Email digests grow from five fixed sections to fifteen configurable ones covering every LogTide vertical, and a MongoDB-only span sorting gap is closed.

Added

  • Per-panel pause for custom dashboards (#296): every panel now carries a Pause/Resume toggle, so a table you are reading no longer refreshes out from under you. Paused panels are skipped by dashboard auto-refresh and excluded from the batch data fetch, and when every panel on a dashboard is paused no network request is made at all. Pausing a live Log Table freezes its rows while keeping the WebSocket open, so resuming picks the stream back up instantly, and the manual per-panel refresh button still works as an explicit override. Pause state is intentionally ephemeral: it resets when you switch dashboards, so a shared dashboard never loads half-frozen
  • Display preferences (#297): a new Settings > Display card lets each user choose a 12-hour or 24-hour clock and an explicit IANA timezone, and every timestamp on the custom-dashboard panels honors the choice. The defaults are unchanged (browser timezone, 24-hour clock), so nothing moves unless you ask it to. Useful when the person reading the dashboard is not in the timezone the logs are coming from, or simply prefers 2:30 PM over 14:30
  • Live Log Stream capacity (#298): the live_log_stream panel’s row cap is raised from 50 to 100, matching the Log Table panel, so a busy stream keeps more history on screen before rows rotate out
  • Top-N tables over any metadata key (#299): top_n_table panels can now rank any flat metadata key, not just services and error messages. Point one at a GeoIP field like geo_place for a “top locations” table, or at a status code, hostname or API route, with the row limit raised to 50 for this dimension and optional level and service filters. An optional Last seen column shows when each value last occurred; the underlying reservoir topValues query learned this on all three storage engines (TimescaleDB, ClickHouse and MongoDB). Percentages are computed against all logs matching the panel filters, so on a project where only some logs carry the key, the share reflects reality instead of inflating it
  • Custom series labels for time series panels (#300): time_series panels accept optional per-level seriesLabels, so a panel whose info/warning/error levels actually track “Heartbeat”, “Normal” and “Blocked” can say so. Legend and tooltip both follow the custom names, and any level you leave unnamed falls back to the standard Debug/Info/Warn/Error/Critical
  • Email digests expanded to fifteen sections: daily and weekly digest emails can now report on every LogTide vertical. Ten new sections join the original five: log level breakdown, top error messages, trace activity, metric activity, alert activity, security activity (Sigma matches and incidents), monitor performance, usage against plan quotas (with a warning when month-to-date usage passes 80% of a quota), webhook delivery health, and team activity. Every section is toggleable per organization in Settings > Email Digests; the new ten are off by default, and the original five keep their exact content and stay on, so existing digests do not change until you opt in. Disabled sections cost zero queries at generation time, and a newly enabled section with nothing to report is simply omitted from the email instead of rendering an empty block

Fixed

  • MongoDB span sorting: span queries on the MongoDB engine silently ignored any sort field other than start_time/time, while TimescaleDB and ClickHouse honored the full set. Anything sorting spans by duration, such as a slowest-spans list, quietly showed most-recent instead of slowest on MongoDB deployments. The allowlist now matches the other engines (duration_ms, end_time, service_name, operation_name), and MongoDB gained a (project_id, duration_ms) span index so the new order is served efficiently. The index is created automatically on the next backend start
  • Digest generation performance: the usage section no longer runs per-project service and level scans whose results it discarded, current-versus-previous reservoir window pairs and per-project span health lookups now run in parallel instead of sequentially, and the digest settings empty state now points at the correct Save Settings button