Commit Graph
120 Commits
Author SHA1 Message Date
Jonathan Shook 32e2548f69 add runapp docs 2026-06-01 15:19:11 +00:00
Jonathan Shook 2c88373c28 add runapp option 2026-06-01 06:23:39 +00:00
Jonathan Shook f25da9297e fix for race condition in shutting down on resource-constrained systems 2026-05-26 17:34:47 +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
Jonathan Shook f531ee9524 bugfix for --list-workloads 2026-02-19 14:23:35 +00:00
Jonathan Shook f95fbfc049 fix param mutability bug, defer dryrun till full activity rendering 2026-02-09 22:59:00 +00:00
Jonathan Shook ce067c3c0c fix specificity of variable capture exception 2026-02-04 19:06:23 +00:00
Jonathan Shook 8e9aafcfa0 Merge pull request #2240 from A-k-A-s-H-1/fix/tls1.3-default
Default TLS version updated to TLSv1.3 and add TLSv1.3 test
2026-02-04 13:01:43 -06:00
Jonathan Shook 22124a22ef fix jmh invocation 2026-01-21 17:34:38 +00: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
Jonathan Shook c2582d9307 clarify dedup scenario 2025-12-16 19:14:01 +00:00
Jonathan Shook fbd232dfec sqlite histos 2025-12-16 17:18:20 +00:00
Jonathan Shook bbbf2bc084 checkpoint before hdr reservoir updates 2025-12-12 21:48:09 +00:00
Jonathan Shook 655aaef093 • - New stride-local flow context primitives (OpFlowContext, OpFlowState).
- Ops can accept flow context via FlowContextAwareOp.
  - StandardAction manages per-stride StrideContext and passes flow context to ops.
  - CapturingOp now writes captured values into the flow context.
  - Dispensers/adapters expose cycle→space index/name for binding.
  - Space mapping logic cleaned up; BaseSpace retains original names.
  - Sync motor path replaced by StrideAction plus StrideMotor/dispenser.
  - CoreMotor/SyncAction removed; loaders/tests moved to stride motor.
  - CycleResultSegmentBuffer adds reset().
  - StringCompositor skips local/global refs when deduping specs.
  - Planning docs lightly edited.
2025-12-11 22:54:14 +00:00
A-k-A-s-H-1 fe70792f53 Default TLS version updated to TLSv1.3 and add TLSv1.3 test 2025-12-10 16:48:38 +05:30
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 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
Jonathan Shook a1f5c57017 Metrics pipeline docs tightened: scheduler cadences + MetricsView snapshot role clarified (scheduler & view Javadocs).
Metric filters upgraded: include/exclude clauses, deny-by-default option, cached lookups; Log4J reporter imports simplified.
Help topics fixed end-to-end: classpath scanning handles jars/denied paths, nb help topics prints list, markdown finder hardened.
AppImage launcher opts into --enable-native-access=ALL-UNNAMED to silence JNA warnings.
New metrics_reporting.md gives a concise CLI reporter/filter cheat-sheet.
2025-10-22 23:18:28 +00:00
Jonathan Shook 5e896cb912 - add optional histogram persistence to SQLite reporter and extend schema with sample_histogram
- expose encodable histogram snapshots, reuse prepared statements, and Base64-encode histogram payloads directly
  - propagate histograms flag through CLI/session wiring and document usage in local/sqlite_metrics.md
  - expand integration tests to cover histogram capture and ensure SQLite reporter behaviour is exercised
2025-10-22 15:54:46 +00:00
Jonathan Shook 5182075188 fix session duration calculation 2025-10-20 16:17:37 +00:00
Jonathan Shook d0560f2801 templates as exprs (#2228)
* improve exprs dryrun output and error messages

* modularize user-extensible workload exprs

* make TEMPLATE just exprs

* square up template variable syntax

* banish double angle brackets and make Dryrun enum pervasive

* template replacement cleanup

* clean up logger levels, support copy target
2025-10-17 12:10:50 -05:00
Jonathan Shook 0312a70bae add better version command 2025-10-13 17:00:12 +00:00
Jonathan Shook 7b8b2d2de1 Jshook vectors (#2222)
* Update nodewalk parsing/rendering for vectordata 0.1.10
  - swap nbvectors predicate imports for vectordata.spec.predicates and make the renderers Function<PNode<?>, String> wrappers with explicit fallback handling
  - drive NodewalkParser through PNode.fromBuffer and case-insensitive renderer selection so both CQL and JSON views work with the new API
  - refresh predicate-focused tests to use the vectordata types and confirm with targeted Maven test runs

* update to groovy 5 for exprs

* groovy 5 expr support checkpoint
* basic expression libraries and lvar support

* add preprocedssor expr layer to support autoconfig of vector params

* added lvar expr integrated tests

* fixed eventing leak
2025-10-10 16:05:28 -05:00
Jonathan Shook f8a07eb12c Revert "Jshook/factoring2 - logger updates (#2220)"
This reverts commit 901ca55eb5.
2025-10-02 22:46:43 +00:00
Jonathan Shook 901ca55eb5 Jshook/factoring2 - logger updates (#2220)
* shade not assembly
* fix default log init
* logger robustification
2025-10-02 01:49:04 -05:00
Jonathan Shook a83d83bbe8 branch reconciliation: Flatten Activity API (#2217)
update and plan true-up: Flatten Activity API
2025-09-29 13:25:37 -05:00
Jonathan Shook d5a99fbc85 start supporting Java 25 (#2209)
* start supporting Java 25

* update GHA Java to 25

* update AppImage deps and dependencies
2025-09-24 17:10:32 -05:00
Jonathan Shook e93da31261 modify error message when space is variant 2025-06-26 20:39:26 -05:00
Jonathan Shook cb59c41b41 make workload template loading consistent 2025-05-06 10:56:24 -05:00
Jonathan Shook b0d35cc262 concurrent initialization tests 2025-05-06 10:54:52 -05:00
Jonathan Shook 18acb669dd Nosqlbench 2178 fixleak (#2179)
* cascade autoclose through cached session objects
* add conventions to assist agents
* avoid concurrent initialization
2025-05-02 16:03:10 -04:00
Jonathan Shook 50d20f3476 fix recall calculations when k<n(gt), improve tests (#2175) 2025-04-09 15:28:47 -07:00
Jonathan Shook df7c666619 fix minor version and pattern 2025-04-09 13:58:44 -05:00
Jonathan Shook 5e865e65e5 allow one-letter parameter names 2025-04-09 11:45:38 -05:00
Jonathan Shook 7c37f30374 Jshook/disambiguate calls (#2165)
* disambiguate calls to map compositor methods

* allow ops to be tagged with maps
2025-02-28 10:34:17 -06:00
Jonathan Shook d400c81fdb disable failing validator 2025-02-18 18:19:56 -06:00
Jonathan Shook c0093efdd3 nosqlbench-2149 Label values should not be constrained (#2150) 2025-01-16 14:08:28 -06:00
Jonathan Shook bc759c0e81 nosqlbench-2146 verification timer should be separate from execute timer (#2147)
* nosqlbench-2146 verification timer should be separate from execute timer

* remove stale TODO
2025-01-15 14:11:48 -06:00
Dave Fisher 1784f5dcd0 Add Property File Support plus Related Workload Improvements (#2115)
* Use Property Files for Environment Vars and as AtFiles

* Keep a private property overlay over system properties

* Add properties from file and use in workload templates

* Allow access to properties and env vars is enabled

* Reorder to ease reading the code

* Insert property, yaml, and json files

* Make exceptions meaningful

* Catch all errors on error insert file type

* Some RawOpsLoader Refactoring and other Small Fixes
2024-12-18 12:01:25 -08:00
Dave Fisher d42245a4c7 More Advisor Parameter and Configuration Tests (#2114)
* More Advisor Parameter and Configuration Tests

* Check for workload parameters not in adapter
2024-12-13 14:49:51 -08:00
Dave Fisher b6d437dcf0 Refactor ConfigModel Construction in StandardActivity (#2104)
* Refactor ConfigModel Construction in StandardActivity

* Tracking ConfigModel Param Classes

* ActivityDef ConfigMap and default ActivityDriver

* More complete config model for ActivityDef plus other small improvements

* Add NBAdvisor to StandardActivity

* NBAdvisor for Workload Params, Tags, and Bindings

* OF: Formatting

* Improve ActivityDef ConfigModel

* Refactor NBAdvisor output adding Debug level

* NBAdvisor output using fluent method

* Slight refactor and always fail condition

* SrInterpolator uses NBAdvisorPoint and NBAdvisorOutput improvements

* Check Cmd with NBAdvisor

* Add Advisor Name and Description to Logs

* Fix review comments
2024-12-13 10:31:22 -05:00
Jonathan Shook ca38a710c3 Jshook/verification (#2107)
* docs update

* typos

* disable noisy prom exposition dump

* fix refkey bug

* move specs into non-test namespace

* remove unimplemented rainbow ops

* docs updates

* give credit to maintainers

* update milvus module to build clean on new APIs

* remove var keyword

* API remapping

* enable new op behaviors
2024-12-10 15:41:05 -06:00
Dave Fisher 0684798f4c StandardActivityType absorbs legacy dispenser logic (#2101) 2024-11-25 14:53:40 -06:00
Dave Fisher 59d930a054 Add Protocol Resolver Chain Selection to NBIO (#2098)
* Add Protocol Selection to NBIO

* Workloads can use a protocol

* protocol errors and defaults

* Test new protocol methods

* Refactor to ResolverChain with enums

* Rename the enum to ResolverChain.Link

* OF - typo
2024-11-25 11:56:38 -06:00
Dave Fisher 86b2495aed TagFilter Error Advisor (#2097)
* TagFilter Error Advisor

* Fix comment detection bug

* Fix the pattern
2024-11-22 09:03:15 -08:00
Dave FisherandJonathan Shook da609d76da Refactor StrInterpolator including Skipping Comments and Adding Support for Bash Variable Substitution (#2092)
* Commented TEMPLATEs in yamls are ignored

* Templates only processed in StrInterpolator

* Improve ends with new line test

* Adjust deprecated template advisor message

* Recursively process template key-values

* Adds bash style simple templates

---------

Co-authored-by: Jonathan Shook <jshook@users.noreply.github.com>
2024-11-21 11:59:23 -06:00
Jonathan Shook 130977fa34 many-sessions improvements, type fixes, more javadocs (#2094)
* some javadoc and type alignment improvements

* some javadoc and type alignment improvements

* example adapter

* alignment to previous changes

* improvements to many session testing

* add missing annotation
2024-11-20 15:25:30 -08:00