Renamed to DarkStruct
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env julia
|
||||
#
|
||||
# bench.jl: measure end-to-end throughput and server memory for a running FileServer.
|
||||
# bench.jl: measure end-to-end throughput and server memory for a running DarkStruct.
|
||||
#
|
||||
# Two things make this pipeline awkward to benchmark with off-the-shelf tools
|
||||
# (ab/hey/wrk), and both shape what this script does:
|
||||
@@ -143,7 +143,7 @@ end
|
||||
#
|
||||
# Resolved from the same environment variables src/config.jl reads, so a server
|
||||
# started with custom dirs is benchmarked correctly. Kept as a standalone table
|
||||
# rather than `using FileServer` so the harness doesn't pay to load Lux.
|
||||
# rather than `using DarkStruct` so the harness doesn't pay to load Lux.
|
||||
|
||||
sinkdirs() = (
|
||||
done = get(ENV, "FS_DONE_DIR", "data/done"),
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
# guess. This sweep is what demoted stage 1's per-file lines to `@debug`
|
||||
# (see the note in src/worker.jl); the standalone `logging (...)` rows below
|
||||
# still price a *formatted* line, i.e. what those lines cost when switched
|
||||
# back on with `JULIA_DEBUG=FileServer`, while the handler rows show what the
|
||||
# back on with `JULIA_DEBUG=DarkStruct`, while the handler rows show what the
|
||||
# stage pays with them off.
|
||||
# * Concurrency. Components that own a lock (the queue's condition, the
|
||||
# logger's stream) don't scale, and the ranking at one worker need not be the
|
||||
@@ -48,14 +48,14 @@
|
||||
# Reported times are the *minimum* over trials: the floor is the signal and
|
||||
# everything above it is scheduler, page-cache and GC noise.
|
||||
|
||||
using FileServer
|
||||
using DarkStruct
|
||||
using Lux
|
||||
using JSON3
|
||||
using Logging
|
||||
using Printf
|
||||
using Random
|
||||
|
||||
const FS = FileServer
|
||||
const FS = DarkStruct
|
||||
|
||||
# ---------------------------------------------------------------- option parsing
|
||||
|
||||
@@ -222,10 +222,10 @@ Run `f` under one of the three loggers the cost of logging is bracketed by:
|
||||
* `:format` `ConsoleLogger` to `devnull`: message formatting and key/value
|
||||
interpolation, but no I/O.
|
||||
* `:flush` `FlushLogger(ConsoleLogger(io))` to a real file: what
|
||||
`FileServer.run` installs, under the redirect it was written for.
|
||||
`DarkStruct.run` installs, under the redirect it was written for.
|
||||
* `:debug` the same, at `Debug` level: the stage's per-file lines are
|
||||
`@debug`, so this is the equivalent of running the server with
|
||||
`JULIA_DEBUG=FileServer` and the only setting under which they
|
||||
`JULIA_DEBUG=DarkStruct` and the only setting under which they
|
||||
are emitted at all.
|
||||
"""
|
||||
function with_logger_named(f, which::Symbol, path::AbstractString)
|
||||
|
||||
@@ -65,13 +65,13 @@
|
||||
# Reported times are the *minimum* over trials: the floor is the signal and
|
||||
# everything above it is scheduler, page-cache and GC noise.
|
||||
|
||||
using FileServer
|
||||
using DarkStruct
|
||||
using JSON3
|
||||
using Logging
|
||||
using Printf
|
||||
using Random
|
||||
|
||||
const FS = FileServer
|
||||
const FS = DarkStruct
|
||||
|
||||
# ---------------------------------------------------------------- option parsing
|
||||
|
||||
@@ -245,7 +245,7 @@ Run `f` under one of the loggers the cost of logging is bracketed by:
|
||||
* `:format` `ConsoleLogger` to `devnull`: message formatting and key/value
|
||||
interpolation, but no I/O.
|
||||
* `:flush` `FlushLogger(ConsoleLogger(io))` to a real file: what
|
||||
`FileServer.run` installs, under the redirect it was written
|
||||
`DarkStruct.run` installs, under the redirect it was written
|
||||
for. Stage 2's per-file line is `@info`, not `@debug`, so this
|
||||
row is what the deployed server actually pays.
|
||||
"""
|
||||
|
||||
@@ -14,6 +14,6 @@
|
||||
# auto-promotes to a compaction pass to seed the catalog. Configure via the
|
||||
# FS_CLUSTER_* / FS_NOMINATED_DIR env vars (see src/config.jl).
|
||||
|
||||
using FileServer
|
||||
using DarkStruct
|
||||
|
||||
FileServer.cluster_sweep_cli(ARGS)
|
||||
DarkStruct.cluster_sweep_cli(ARGS)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# send_dir.sh — upload every file in a directory to a running FileServer.
|
||||
# send_dir.sh — upload every file in a directory to a running DarkStruct.
|
||||
#
|
||||
# Each file is POSTed to /upload as multipart/form-data. By default one file per
|
||||
# request (so you get per-file feedback); use -b to batch all files into a
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env julia
|
||||
# Entry point. Run with: julia --project -t auto bin/server.jl
|
||||
using FileServer
|
||||
FileServer.run()
|
||||
using DarkStruct
|
||||
DarkStruct.run()
|
||||
|
||||
Reference in New Issue
Block a user