From: Gabriel Goller <g.goller@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox{, -backup} v6 0/4] proxmox-log introduction
Date: Wed, 26 Jun 2024 15:10:29 +0200 [thread overview]
Message-ID: <20240626131120.336868-1-g.goller@proxmox.com> (raw)
Removed the task_log! (and friends task_warn!, task_debug!, etc.) macro
and introduced the `tracing` crate. We now initiate the tracing crate
using two layer, which are logging to the syslog and the tasklog.
It uses the `tracing-journald` crate and the original `FileLogger`.
To write to the task logs from the worker threads and tasks, we now
have a task_local logger (and warning counter), which
will get instantiated when a task/thread is created. This means that
when we call `info!` or any other `tracing` log macros, it will get
the file_logger from TLS and write to the file.
v6, thanks @Lukas:
- rebase
- reorder imports, inline variables
- introduce `tracing-journald` and throw out `syslog`
- split single layer into two, one for syslog and for tasklog
v5:
- minor rebase
v4:
- rebase
- reword commit messages (thanks @Thomas)
- split into multiple patches
v3, thanks @Sterzy:
- updated debian/control files
- downgraded tracing-log
v2:
- Rebase onto master
- Split proxmox-backup commit into two
v1, thanks @Wolfgang, @Lukas:
- Combined syslog and tasklog to single layer
- Infer the logging target from the FileLogger TLS
RFC v2, thanks @Dominik, @Thomas:
- Remove the 'tasklog = true' attribute and infer the context
- Wrap the worker_thread or worker_task in a span with name
'worker_task'
- All events in the span with name 'worker_task' get logged to the
file_logger, everything else goes to syslog (Error events go to
both)
- Remove the `Option<>` around the `FileLogger` in TLS
- Clippy fixes
proxmox:
Gabriel Goller (2):
proxmox-log: add tracing infrastructure
enable tracing logger, remove task_log macros
Cargo.toml | 6 ++
proxmox-log/Cargo.toml | 23 +++++
proxmox-log/debian/changelog | 5 +
proxmox-log/debian/control | 52 ++++++++++
proxmox-log/debian/copyright | 18 ++++
proxmox-log/debian/debcargo.toml | 7 ++
.../src/file_logger.rs | 24 +++--
proxmox-log/src/lib.rs | 52 ++++++++++
proxmox-log/src/tasklog_layer.rs | 59 +++++++++++
proxmox-rest-server/Cargo.toml | 2 +
proxmox-rest-server/src/api_config.rs | 3 +-
proxmox-rest-server/src/lib.rs | 3 -
proxmox-rest-server/src/rest.rs | 4 +-
proxmox-rest-server/src/worker_task.rs | 99 +++++++++----------
proxmox-sys/src/worker_task_context.rs | 47 ---------
15 files changed, 289 insertions(+), 115 deletions(-)
create mode 100644 proxmox-log/Cargo.toml
create mode 100644 proxmox-log/debian/changelog
create mode 100644 proxmox-log/debian/control
create mode 100644 proxmox-log/debian/copyright
create mode 100644 proxmox-log/debian/debcargo.toml
rename {proxmox-rest-server => proxmox-log}/src/file_logger.rs (85%)
create mode 100644 proxmox-log/src/lib.rs
create mode 100644 proxmox-log/src/tasklog_layer.rs
proxmox-backup:
Gabriel Goller (2):
switch from task_log! macro to tracing
api: switch from task_log! macro to tracing
Cargo.toml | 7 +
debian/control | 2 +
pbs-datastore/Cargo.toml | 1 +
pbs-datastore/src/chunk_store.rs | 30 +---
pbs-datastore/src/datastore.rs | 82 ++++------
src/api2/admin/datastore.rs | 26 ++--
src/api2/config/acme.rs | 21 +--
src/api2/config/datastore.rs | 16 +-
src/api2/config/prune.rs | 14 +-
src/api2/node/apt.rs | 13 +-
src/api2/node/certificates.rs | 67 ++++----
src/api2/node/disks/directory.rs | 13 +-
src/api2/node/disks/mod.rs | 12 +-
src/api2/node/disks/zfs.rs | 31 ++--
src/api2/node/mod.rs | 11 +-
src/api2/pull.rs | 37 ++---
src/api2/tape/backup.rs | 75 ++++-----
src/api2/tape/drive.rs | 152 +++++++-----------
src/api2/tape/restore.rs | 259 ++++++++++---------------------
src/backup/verify.rs | 105 ++++---------
src/bin/proxmox-backup-api.rs | 13 +-
src/bin/proxmox-backup-proxy.rs | 42 ++---
src/server/gc_job.rs | 6 +-
src/server/prune_job.rs | 29 ++--
src/server/pull.rs | 243 +++++++++--------------------
src/server/realm_sync_job.rs | 44 ++----
src/server/verify_job.rs | 10 +-
src/tape/drive/mod.rs | 36 ++---
src/tape/pool_writer/mod.rs | 92 ++++-------
src/tools/disks/mod.rs | 21 +--
tests/worker-task-abort.rs | 9 +-
31 files changed, 520 insertions(+), 999 deletions(-)
Summary over all repositories:
46 files changed, 809 insertions(+), 1114 deletions(-)
--
Generated by git-murpp 0.5.0
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next reply other threads:[~2024-06-26 13:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-26 13:10 Gabriel Goller [this message]
2024-06-26 13:10 ` [pbs-devel] [PATCH proxmox v6 1/4] proxmox-log: add tracing infrastructure Gabriel Goller
2024-06-26 13:10 ` [pbs-devel] [PATCH proxmox v6 2/4] enable tracing logger, remove task_log macros Gabriel Goller
2024-06-26 13:10 ` [pbs-devel] [PATCH proxmox-backup v6 3/4] switch from task_log! macro to tracing Gabriel Goller
2024-06-26 13:10 ` [pbs-devel] [PATCH proxmox-backup v6 4/4] api: " Gabriel Goller
2024-06-28 9:25 ` [pbs-devel] [PATCH proxmox{, -backup} v6 0/4] proxmox-log introduction Lukas Wagner
2024-07-01 9:27 ` Gabriel Goller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240626131120.336868-1-g.goller@proxmox.com \
--to=g.goller@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox