From: Gabriel Goller <g.goller@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup 0/2] proxmox-log introduction
Date: Fri, 3 Nov 2023 12:28:47 +0100 [thread overview]
Message-ID: <20231103112849.71953-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 a single layer, which is loggin to the syslog and the tasklog.
It uses the `syslog` 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 (with the "tasklog"
attribute), it will get the file_logger from TLS and write to the file.
Changes since RFC v2:
- Combined syslog and tasklog to single layer
- Infer the logging target from the FileLogger TLS
Changes since RFC v1:
- 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
Gabriel Goller (1):
proxmox-log: added tracing infra
Cargo.toml | 6 +
proxmox-log/Cargo.toml | 23 ++++
proxmox-log/debian/changelog | 5 +
proxmox-log/debian/control | 53 +++++++++
proxmox-log/debian/copyright | 18 +++
proxmox-log/debian/debcargo.toml | 7 ++
.../src/file_logger.rs | 2 +-
proxmox-log/src/lib.rs | 34 ++++++
proxmox-log/src/syslog_tasklog_layer.rs | 106 +++++++++++++++++
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 | 108 +++++++++---------
proxmox-sys/src/worker_task_context.rs | 47 --------
15 files changed, 315 insertions(+), 106 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 (98%)
create mode 100644 proxmox-log/src/lib.rs
create mode 100644 proxmox-log/src/syslog_tasklog_layer.rs
Gabriel Goller (1):
log: removed task_log! macro and moved to tracing
Cargo.toml | 61 ++++----
pbs-api-types/src/metrics.rs | 1 -
pbs-api-types/src/node.rs | 3 +-
pbs-datastore/Cargo.toml | 1 +
pbs-datastore/src/chunk_store.rs | 30 +---
pbs-datastore/src/datastore.rs | 70 ++++-----
src/api2/admin/datastore.rs | 24 ++--
src/api2/admin/metrics.rs | 2 +-
src/api2/config/acme.rs | 20 +--
src/api2/config/datastore.rs | 12 +-
src/api2/node/apt.rs | 13 +-
src/api2/node/certificates.rs | 64 ++++-----
src/api2/node/disks/directory.rs | 13 +-
src/api2/node/disks/mod.rs | 6 +-
src/api2/node/disks/zfs.rs | 30 ++--
src/api2/node/mod.rs | 11 +-
src/api2/pull.rs | 28 ++--
src/api2/tape/backup.rs | 77 ++++------
src/api2/tape/drive.rs | 135 +++++++----------
src/api2/tape/restore.rs | 240 ++++++++++---------------------
src/backup/verify.rs | 103 ++++---------
src/bin/proxmox-backup-api.rs | 10 +-
src/bin/proxmox-backup-proxy.rs | 42 ++----
src/server/gc_job.rs | 6 +-
src/server/prune_job.rs | 26 ++--
src/server/pull.rs | 166 ++++++++-------------
src/server/realm_sync_job.rs | 40 ++----
src/server/verify_job.rs | 10 +-
src/tape/drive/mod.rs | 34 ++---
src/tape/pool_writer/mod.rs | 85 +++++------
tests/worker-task-abort.rs | 9 +-
31 files changed, 502 insertions(+), 870 deletions(-)
--
2.39.2
next reply other threads:[~2023-11-03 11:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-03 11:28 Gabriel Goller [this message]
2023-11-03 11:28 ` [pbs-devel] [PATCH proxmox 1/2] proxmox-log: added tracing infra Gabriel Goller
2023-12-01 9:56 ` Lukas Wagner
2023-12-01 11:13 ` Wolfgang Bumiller
2023-12-01 14:48 ` Lukas Wagner
2023-11-03 11:28 ` [pbs-devel] [PATCH proxmox-backup 2/2] log: removed task_log! macro and moved to tracing Gabriel Goller
2024-01-22 13:30 ` Lukas Wagner
2023-12-15 13:56 ` [pbs-devel] [PATCH proxmox-backup 0/2] proxmox-log introduction 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=20231103112849.71953-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