Storage-agnostic SQL query engine over a pluggable catalog SPI
0

Configure Feed

Select the types of activity you want to include in your feed.

observe: absorb nox-memtrace, repoint the tree onto observe

nox-memtrace was a maintained fork of Jane Street's memtrace; it now lives in
ocaml-observe as observe.memtrace, so there is no external fork to track and the
capture format can evolve with the obs tooling. This drops the nox-memtrace and
nox-memtrace-eio packages and repoints every bench and opam dependency in the
tree at observe, and adds the obs SQLite sink so traces can be queried with SQL.

+5 -5
+2 -2
bench/bench.ml
··· 3 3 Run: dune exec ocaml-catalog/bench/bench.exe -- [rows] [groups] 4 4 5 5 Allocation profile: MEMTRACE=/tmp/catalog.ctf dune exec 6 - ocaml-catalog/bench/bench.exe dune exec -- memtrace_hotspots /tmp/catalog.ctf 6 + ocaml-catalog/bench/bench.exe dune exec -- obs hotspots /tmp/catalog.ctf 7 7 8 8 Benchmark shape: - flat scan/filter/project is the embedded-engine micro 9 9 path, close in spirit to SQLite's speedtest1 loops. - grouped aggregate is ··· 133 133 134 134 let () = 135 135 let data = rows_of_count rows in 136 - Memtrace.trace_if_requested (); 136 + Observe.Memtrace.trace_if_requested (); 137 137 Fmt.pr "catalog bench: rows=%d groups=%d\n%!" rows groups; 138 138 time "flat" rows (fun () -> 139 139 let out = Ir.run flat_query [| C.Spi.list_cursor data |] in
+1 -1
bench/dune
··· 1 1 (executable 2 2 (name bench) 3 - (libraries catalog unix fmt nox-memtrace)) 3 + (libraries catalog unix fmt observe))
+1 -1
catalog.opam
··· 15 15 "fmt" 16 16 "alcotest" {with-test} 17 17 "mdx" {with-test} 18 - "nox-memtrace" {with-test} 18 + "observe" {with-test} 19 19 "odoc" {with-doc} 20 20 ] 21 21 build: [
+1 -1
dune-project
··· 20 20 fmt 21 21 (alcotest :with-test) 22 22 (mdx :with-test) 23 - (nox-memtrace :with-test))) 23 + (observe :with-test)))