Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
6dbb97f
migrate to tracing
CommanderStorm Jan 9, 2026
0381c27
remove ctor
CommanderStorm Jan 9, 2026
a3184cf
fmt
CommanderStorm Jan 9, 2026
6334750
slight optimisation
CommanderStorm Jan 9, 2026
8c04dea
fix fmt
CommanderStorm Jan 9, 2026
6e21c10
fix clippy issues
CommanderStorm Jan 9, 2026
ec718e9
various doc issues
CommanderStorm Jan 9, 2026
2240c12
add the bare format for tests
CommanderStorm Jan 10, 2026
ba19df5
adjust to the new, more stable log format
CommanderStorm Jan 10, 2026
9913607
Merge branch 'main' into tracing-v5
CommanderStorm Jan 10, 2026
3d72cf6
Fix formatting in Cargo.toml for tracing-subscriber
nyurik Jan 10, 2026
e9a4fec
Update martin/src/logging.rs
CommanderStorm Jan 10, 2026
0f26678
Update martin/src/logging.rs
CommanderStorm Jan 10, 2026
7f2f50c
fix an issue noticed by copilot
CommanderStorm Jan 10, 2026
b3c07cb
cleanup env var usage
nyurik Jan 10, 2026
22d6b01
remove another occurance
CommanderStorm Jan 10, 2026
2af2bf9
Apply suggestions from code review
CommanderStorm Jan 10, 2026
17a55e1
chore(fmt): apply pre-commit formatting fixes
pre-commit-ci[bot] Jan 10, 2026
14d7f8a
Apply suggestions from code review
CommanderStorm Jan 10, 2026
427222e
Apply suggestion from @CommanderStorm
CommanderStorm Jan 10, 2026
fc69342
fix docker CI
CommanderStorm Jan 10, 2026
6c3f18f
rework our docker integration CI to be justfile based
CommanderStorm Jan 10, 2026
c2f16e3
add just to the docker CI
CommanderStorm Jan 11, 2026
e27ae1f
make the aws dockerfile more debuggable
CommanderStorm Jan 11, 2026
54a10f7
add more intel to the aws workflow
CommanderStorm Jan 11, 2026
aae473d
try if maybe the quoting is the issue?
CommanderStorm Jan 11, 2026
b8f8c9a
try if arguments are the issue
CommanderStorm Jan 11, 2026
601d94c
Revert "try if maybe the quoting is the issue?"
CommanderStorm Jan 11, 2026
4b37fd0
fix naming of env params
CommanderStorm Jan 11, 2026
5043561
Reapply "try if maybe the quoting is the issue?"
CommanderStorm Jan 11, 2026
e0d3021
make the just executable name more reliable
CommanderStorm Jan 11, 2026
468bd13
revert to short names for constency
CommanderStorm Jan 11, 2026
e84f64d
fix typo with args after run-in-docker-image being missing
CommanderStorm Jan 12, 2026
6ec4fe4
Apply suggestion from @CommanderStorm
CommanderStorm Jan 12, 2026
b2328ac
minimise the CI change to another PR
CommanderStorm Jan 12, 2026
055add5
add to docs
CommanderStorm Jan 12, 2026
400c504
Merge branch 'main' into tracing-v5
CommanderStorm Jan 12, 2026
08a6ea8
how did this make it past CI????
CommanderStorm Jan 12, 2026
adb1032
Apply suggestion from @CommanderStorm
CommanderStorm Jan 12, 2026
d8330b0
Apply suggestion from @CommanderStorm
CommanderStorm Jan 12, 2026
45345de
MARTIN_FORMAT -> RUST_LOG_FORMAT
CommanderStorm Jan 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,8 @@ jobs:
run: tests/fixtures/initdb.sh
env:
PGPORT: ${{ job.services.postgres.ports[5432] }}
- uses: taiki-e/install-action@763e3324d4fd026c9bd284c504378585777a87d5 # v2.62.57
with: { tool: sqlx-cli }

# we want to test our docker images before we push them to the registry
# this is done by
Expand Down Expand Up @@ -331,20 +333,19 @@ jobs:
PLATFORM=linux/arm64
TAG=${{ github.repository }}:linux
export MARTIN_BUILD_ALL=-
export MARTIN_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -v $PWD/tests:/tests $TAG"
export MARTIN_CP_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -v $PWD/tests:/tests --entrypoint /usr/local/bin/martin-cp $TAG"
export MARTIN_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -e RUST_LOG_FORMAT=bare -v $PWD/tests:/tests $TAG"
export MARTIN_CP_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -e RUST_LOG_FORMAT=bare -v $PWD/tests:/tests --entrypoint /usr/local/bin/martin-cp $TAG"
export MBTILES_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -v $PWD/tests:/tests --entrypoint /usr/local/bin/mbtiles $TAG"
tests/test.sh
env:
DATABASE_URL: postgres://${{ env.PGUSER }}:${{ env.PGUSER }}@${{ env.PGHOST }}:${{ job.services.postgres.ports[5432] }}/${{ env.PGDATABASE }}?sslmode=require

- name: Test linux/amd64 Docker image
run: |
PLATFORM=linux/amd64
TAG=${{ github.repository }}:linux
export MARTIN_BUILD_ALL=-
export MARTIN_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -v $PWD/tests:/tests $TAG"
export MARTIN_CP_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -v $PWD/tests:/tests --entrypoint /usr/local/bin/martin-cp $TAG"
export MARTIN_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -e RUST_LOG_FORMAT=bare -v $PWD/tests:/tests $TAG"
export MARTIN_CP_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -e RUST_LOG_FORMAT=bare -v $PWD/tests:/tests --entrypoint /usr/local/bin/martin-cp $TAG"
export MBTILES_BIN="docker run --rm --net host --platform $PLATFORM -e DATABASE_URL -e AWS_REGION=eu-central-1 -e AWS_SKIP_CREDENTIALS=1 -v $PWD/tests:/tests --entrypoint /usr/local/bin/mbtiles $TAG"
tests/test.sh
env:
Expand Down
176 changes: 140 additions & 36 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ brotli = ">=5, <9"
bytes = "1"
clap = { version = "4", features = ["derive", "unstable-markdown", "wrap_help"] }
criterion = { version = "0.8", features = ["async_futures", "async_tokio", "html_reports"] }
ctor = "0.6.3"
dashmap = { version = "6.1.0", features = ["serde", "inline", "rayon"] }
deadpool-postgres = "0.14"
enum-display = "0.2"
Expand Down Expand Up @@ -104,6 +103,10 @@ tiff = "0.10.1"
tilejson = "0.4"
tokio = { version = "1", features = ["macros"] }
tokio-postgres-rustls = "0.13"
tracing = "0.1.44"
tracing-log = { version = "0.2.0", features = ["interest-cache"] }
tracing-subscriber = { version = "0.3", default-features = false }
tracing-test = "0.2"
url = "2.5"
walkdir = "2.5.0"
xxhash-rust = { version = "0.8", features = ["xxh3"] }
Expand Down
2 changes: 1 addition & 1 deletion docs/src/getting-involved.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ We add a breakpoint here in the [start of martin](https://github.com/maplibre/ma

```rust, ignore
use clap::Parser;
use log::{error, info, log_enabled};
use tracing::{error, info};
use martin::args::{Args, OsEnv};
use martin::srv::new_server;
use martin::{read_config, Config, MartinResult};
Expand Down
2 changes: 1 addition & 1 deletion docs/src/pg-ssl-certificates.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ export PGSSLROOTCERT=./ca-cert.pem
psql -h localhost -U postgres -d postgres -v

# Debug Martin
RUST_LOG=debug martin postgres://...
RUST_LOG=debug RUST_LOG_FORMAT=pretty martin postgres://...
```

These are the errors that can occur:
Expand Down
11 changes: 8 additions & 3 deletions docs/src/troubleshooting.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
## Troubleshooting

Log levels are controlled on a per-module basis, and by default all logging is disabled except for errors. Logging is
controlled via the `RUST_LOG` environment variable. The value of this environment variable is a comma-separated list of
logging directives.
Log levels are controlled on a per-module basis, and by default all logging is disabled except for errors.
Logging is controlled via the `RUST_LOG` environment variable.
The value of this environment variable is a comma-separated list of logging directives.

This will enable debug logging for all modules:

```bash
export RUST_LOG=debug
export RUST_LOG_FORMAT=pretty
martin postgres://postgres@localhost/db
```

Expand All @@ -16,5 +17,9 @@ and `tokio_postgres` modules:

```bash
export RUST_LOG=actix_web=info,martin=debug,tokio_postgres=debug
export RUST_LOG_FORMAT=pretty
martin postgres://postgres@localhost/db
```

We also allow you to control the format of the logs via the `RUST_LOG_FORMAT` environment variable.
For troubleshooting, `pretty` or `full` are likely the most useful formats.
Loading
Loading