Skip to content

Commit

Permalink
Add some documentation on the log fields
Browse files Browse the repository at this point in the history
  • Loading branch information
richvdh committed Sep 13, 2024
1 parent cdb32f4 commit 73c759e
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 1 deletion.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ docker run --rm -e "SYNCV3_SERVER=https://matrix-client.matrix.org" -e "SYNCV3_S

Download the binary for your architcture (eg. `syncv3_linux_amd64` for 64-bit AMD/Intel) from https://github.com/matrix-org/sliding-sync/releases/latest
```
$ SYNCV3_SECRET=$(cat .secret) SYNCV3_SERVER="https://matrix-client.matrix.org" SYNCV3_DB="user=$(whoami) dbname=syncv3 sslmode=disable password='DATABASE_PASSWORD_HERE'" SYNCV3_BINDADDR=0.0.0.0:8008 ./syncv3_linux_amd64
$ SYNCV3_SECRET=$(cat .secret) SYNCV3_SERVER="https://matrix-client.matrix.org" SYNCV3_DB="user=$(whoami) dbname=syncv3 sslmode=disable password='DATABASE_PASSWORD_HERE'" SYNCV3_BINDADDR=0.0.0.0:8008 ./syncv3_linux_amd64
```

Optionally also set `SYNCV3_TLS_CERT=path/to/cert.pem` and `SYNCV3_TLS_KEY=path/to/key.pem` to listen on HTTPS instead of HTTP.
Expand All @@ -119,6 +119,8 @@ Wait for the first initial v2 sync to be processed (this can take minutes!) and

Note that some clients might require that your home server advertises support for sliding-sync in the `.well-known/matrix/client` endpoint; details are in [the work-in-progress specification document](https://github.com/matrix-org/matrix-spec-proposals/blob/kegan/sync-v3/proposals/3575-sync.md#unstable-prefix).

There are some notes on the log format in [docs/log_format.md](./docs/log_format.md).

### Prometheus

To enable metrics, pass `SYNCV3_PROM=:2112` to listen on that port and expose a scraping endpoint `GET /metrics`.
Expand Down
20 changes: 20 additions & 0 deletions docs/log_format.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Log line format

Log lines may contain the following fields:

* `u`: user ID.
* `dev`: device ID.
* `p`: `pos` parameter from incoming requests.
* `q`: `pos` value from outgoing responses.
* `t`: transaction ID.
* `c`: connection ID.
* `b`: buffer summary.
* Update counts in outgoing responses, each of which are omitted if zero:
* `r`: rooms.
* `d`: to-device events.
* `ag`: global account data updates.
* `dl-c`: changed devices.
* `dl-l`: left devices.
* `sub`: room subscriptions.
* `usub`: room unsubscriptions.
* `l`: lists.
4 changes: 4 additions & 0 deletions internal/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ func DecorateLogger(ctx context.Context, l *zerolog.Event) *zerolog.Event {
return l
}
da := d.(*data)

// NOTE: These log fields are documented in `docs/log_format.md`: remember to
// keep that document up-to-date.

if da.userID != "" {
l = l.Str("u", da.userID)
}
Expand Down

0 comments on commit 73c759e

Please sign in to comment.