12 Commits
Author SHA1 Message Date
dependabot[bot] 743197ad3c build(deps): bump org.apache.logging.log4j:log4j-api
Bumps org.apache.logging.log4j:log4j-api from 2.25.2 to 2.25.5.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-api
  dependency-version: 2.25.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-13 19:47:04 +00:00
Jonathan Shook 500c7b9609 - Diagnosed & fixed CsvReporter label-overlap crash when --report-csv-to was used; added JSONL manifest mapping fully-qualified labels → CSV file.
- Persisted min/max/mean/stddev in a new sample_statistics SQLite table; added StatsCommand and made InstantCommand/StatsCommand use per-metric latest timestamp.
  - Fixed lost activity metrics on short runs: ActivityExecutor now triggers a bypass-bucket snapshot before op dispensers detach; SQLite reporter is silent under post-close ticks.
  - New stress-report bundled app + dummy_session.yaml workload with two new diag op-tasks (cycledelay, errormodulo); c-stress-shaped per-op output, A/B equivalence mode, comparability warning at the top.
  - removed NBCLI's foundational-label re-injection.
2026-05-26 15:52:08 +00:00
dependabot[bot] 8ea0d0f4c2 build(deps): bump org.apache.logging.log4j:log4j-core
Bumps org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-version: 2.25.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-10 23:47:25 +00:00
Jonathan Shook 925383765d Merge branch 'main' into stacked_scopes 2026-01-20 11:43:18 -06:00
Jonathan Shook d308cddf21 New JMH benchmarking framework:
Added 9 new benchmark classes in nb-engine-core/.../sysperf/engineflow/ for measuring engine flow performance
  (stride context, op flow, space mapping, motor operations, etc.)
JMH documentation: Added devdocs/devguide/jmh_engineflow.md
Testing tags:
 POM updates: Added test profiles
 CONVENTIONS.md updates around test tags
 Test annotations: Added 2-3 lines to ~280 test files
 Split tests classes to allow one tag set per class (no mixed methods)
2026-01-20 17:23:18 +00:00
dependabot[bot] d655966040 build(deps): bump org.apache.logging.log4j:log4j-core
Bumps org.apache.logging.log4j:log4j-core from 2.25.2 to 2.25.3.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-version: 2.25.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-02 09:47:20 -05:00
Jonathan Shook 59a543110c ● Fix query command and scenario handling bugs
- Fix SQL syntax error in SelectorTransformer: Move LEFT JOINs before WHERE clause
  - Support nested {{...}} expressions in TEMPLATE() defaults
  - Fix CMD_await to correctly use activity= parameter instead of alias
  - Add available activities list to missing activity error messages
2025-11-02 06:25:07 +00:00
Jonathan Shook 4707b54175 Add unit of measurement property to metrics
- Add getUnit() method to NBMetric interface
  - Update all NBMetric implementations (Counter, Timer, Histogram, Meter, Gauge variants) with unit field
  - Update MetricsView to use metric.getUnit() instead of extracting from labels
  - Fix InstantCommand SQL join order bug (use joinAllLabelsWithSampleName())
  - Update NBCreators with default units (nanoseconds, operations, empty)
  - Fix test compilation errors in nb-api, nb-mql-api, and nb-engine-core (12 test files)
  - Regenerate all test databases with updated metric constructors
2025-10-31 23:31:40 +00:00
Jonathan Shook 292a21a332 Reorganize ANTLR packages and update documentation to match project conventions
- Move grammar files from src/main/antlr4 to src/main/java/.../grammars following conventions in adapter-cqld4 and
   virtdata-lang modules
  - Update ANTLR generated output to src/main/java/.../generated with explicit package configuration (-package
  argument)
  - Add imports for generated MetricsQLLexer/Parser classes in 11 parser and test files; all 285 tests passing
  - Replace FEATURE_TRADEOFF_ANALYSIS.md with user-focused METRICSQL_DIFFERENCES.md guide (~40% shorter, removes
  internal decision-making)
  - Add session metadata (nb.version, nb.commandline, nb.hardware) to all 5 test database generators
  - Update TEST_DATABASES.md with metadata documentation and correct regeneration instructions from project root
2025-10-31 21:51:16 +00:00
Jonathan Shook b613170f91 - Add metrics command to command list and quick start examples
- Document tree display options: --no-condense, --group-by, --keep-labels
  - Expand --explain flag documentation with examples across query types
  - Document two-layer tree architecture (LabelSetTree → DisplayTree with condensation algorithms)
  - Add Discovery & Navigation section with metrics command usage examples
2025-10-30 17:55:01 +00:00
Jonathan Shook 6e6d0d9518 Fix metric grouping: Implement two-layer tree architecture for label set display
- Add LabelSetTree (canonical layer): Algebraic tree maintaining strict label set containment relationships with support for merging trees
  - Add DisplayTree (display layer): Derived tree with three-pass reduction algorithm:
    - Differential label rendering (show only labels differing from parent)
    - Sibling condensation (merge siblings differing by single label with comma-separated values)
    - Identical label set consolidation (combine nodes with same labels)
  - Update MetricsCommand: Use canonical→display tree pipeline for --group-by labelset output
  - Fix SummaryCommand: Build single shared canonical tree for all metrics instead of per-metric trees, enabling proper consolidation of metrics with identical label sets
  - Add LabelSetTreeTest: 10 tests verifying containment relationships, merging, and rendering
  - Result: Metrics with identical label sets now properly consolidated under single parent node (e.g., 20+ separate session=oDChioC entries → 1 node with 20+ child metrics)
2025-10-28 21:55:26 +00:00
Jonathan Shook 30c8a9d015 - New nb-mql-api module with 11 query commands (instant, range, rate, increase, quantile, agg, ratio, topk, session, summary, sql)
- BundledApp integration (@Service selector="mql") accessible via nb5 CLI
- 6 output formats (table, csv, tsv, json, jsonl, markdown) with enum-based architecture
- 107 passing tests with self-validating documentation and 5 test databases
- Add sqlite-jdbc to dependency management and nb-mql-api to nb-engine-all
- Add shutdown hook to update symlink mtimes on session end
2025-10-27 19:48:37 +00:00