TimescaleDB

Write reporting events and projected metrics into PostgreSQL-compatible tables for TimescaleDB or standard PostgreSQL workflows.

Reporting

Realtime reporting

Choose the built-in sink page that matches the observability stack your team already uses. Each tab below opens a dedicated page instead of swapping content in place.

When To Use TimescaleDB

Use TimescaleDB when your platform standardizes on PostgreSQL-compatible storage but still wants queryable reporting-event rows and a dedicated projected-metrics table.

What LoadStrike Sends

TimescaleDbReportingSink writes reporting events into the configured table and can split projected metrics into a separate MetricsTableName. When available, the sink can also prepare hypertables for time-series friendly storage.

Configuration Surface

Configure the sink in code or through LoadStrike:ReportingSinks:TimescaleDb. Common options include ConnectionString, Schema, TableName, MetricsTableName, CreateSchemaIfMissing, EnableHypertableIfAvailable, and StaticTags.

Starter Assets

LoadStrike publishes a TimescaleDB datasource YAML, the shared Grafana dashboard-provider YAML, and a TimescaleDB overview dashboard JSON file.

TimescaleDB realtime reporting

Use TimescaleDbReportingSink when you want PostgreSQL-compatible event and metric storage.

Switch between C#, Java, Python, TypeScript, and JavaScript to see the native SDK shape for this sample.

Licensing note: every runnable sample requires a valid runner key via WithRunnerKey("...") or config key LoadStrike:RunnerKey.

HTML reports include an icon-only Light/Dark theme toggle fixed at the top-right. Default report theme is Light.

TimescaleDB Sink

var timescaleSink = new TimescaleDbReportingSink(new TimescaleDbReportingSinkOptions
{
    ConnectionString = "Host=db.example.com;Port=5432;Database=loadstrike;Username=postgres;Password=postgres",
    Schema = "observability",
    TableName = "loadstrike_reporting_events",
    MetricsTableName = "loadstrike_reporting_metrics",
    CreateSchemaIfMissing = true,
    EnableHypertableIfAvailable = true
});

LoadStrikeRunner.RegisterScenarios(scenario)
    .WithReportingSinks(timescaleSink)
    .WithRunnerKey("rkl_your_local_runner_key")
    .Run();

TimescaleDB setup checklist

Config path

LoadStrike:ReportingSinks:TimescaleDb

Common options

ConnectionString, Schema, TableName, MetricsTableName, CreateSchemaIfMissing, EnableHypertableIfAvailable, and StaticTags.

Best fit

Teams standardizing on PostgreSQL-compatible storage while still wanting queryable event rows and separate metrics tables.

Starter assets

Datasource YAML, shared dashboard-provider YAML, and a TimescaleDB overview dashboard are published for download.

{
  "LoadStrike": {
    "ReportingSinks": {
      "TimescaleDb": {
        "ConnectionString": "Host=db.example.com;Port=5432;Database=loadstrike;Username=postgres;Password=postgres",
        "Schema": "observability",
        "TableName": "loadstrike_reporting_events",
        "MetricsTableName": "loadstrike_reporting_metrics"
      }
    }
  }
}

Downloads and starter assets

These files cover the documented TimescaleDB-backed workflow that LoadStrike publishes publicly.

Timescale datasource YAML

Grafana datasource definition for a TimescaleDB-backed LoadStrike dashboard setup.

Download file

Dashboard provider YAML

Shared Grafana dashboard-provider file used by the published starter dashboards.

Download file

Timescale dashboard JSON

Starter dashboard wired for the TimescaleDB sink shape documented here.

Download file