From: Gabriel Goller <g.goller@proxmox.com>
To: Thomas Lamprecht <t.lamprecht@proxmox.com>,
Proxmox Backup Server development discussion
<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup] close #3777: api: Add source information to backup logs
Date: Fri, 8 Sep 2023 16:01:22 +0200 [thread overview]
Message-ID: <9adb5b07-fa2c-7543-1c28-7dcb9b664b4f@proxmox.com> (raw)
In-Reply-To: <cbc413d3-6a3c-4cd8-b687-35573d2bcd3d@proxmox.com>
On 9/7/23 18:53, Thomas Lamprecht wrote:
> On 21/08/2023 09:40, Gabriel Goller wrote:
>> This will show the ip-address of the client creating
>> the backup in the logs. For example it will output:
>> "starting new backup on datastore 'test1' from ::ffff:192.168.1.192:
>> "host/test/2023-08-21T07:28:10Z"".
>>
>> Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
>> ---
>> src/api2/backup/mod.rs | 19 +++++++++++++++----
>> 1 file changed, 15 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/api2/backup/mod.rs b/src/api2/backup/mod.rs
>> index 652d5baa..0c996e62 100644
>> --- a/src/api2/backup/mod.rs
>> +++ b/src/api2/backup/mod.rs
>> @@ -214,10 +214,21 @@ fn upgrade_to_backup_protocol(
>> env.debug = debug;
>> env.last_backup = last_backup;
>>
>> - env.log(format!(
>> - "starting new {} on datastore '{}': {:?}",
>> - worker_type, store, path
>> - ));
>> + match rpcenv.get_client_ip() {
>
> could do:
>
> if let Some(ip) = rpcenv.get_client_ip().map(|addr| addr.ip()) {
>
> This all feels a bit bloated for what it does, and even if it seems like nitpicking,
> such things can add up and make maintainability harder in the long run.
>
> You could get the actual IP via a .map and work on that, i.e., I'd to something like
> either:
>
> let msg = if let Some(ip) = rpcenv.get_client_ip().map(|addr| addr.ip()) {
> format!("starting new {worker_type} on datastore '{store}' from {ip}: {path:?}")
> } else {
> format!("starting new {worker_type} on datastore '{store}': {path:?}")
> };
> env.log(msg);
>
>
> or:
>
> let origin = match rpcenv.get_client_ip().map(|addr| addr.ip()) {
> Some(ip) => format!(" from {ip}"),
> None => "".into(),
> };
> env.log(format!("starting new {worker_type} on datastore '{store}'{origin}: {path:?}"));
>
>
> Where the latter reads slightly nicer IMO but has two allocation, maybe you got a better
> idea.
Second one looks better I think.
> Oh, and for quite a few users the IPv4 mapped as IPv6 notation looks odd, so dropping the
> ::ffff: prefix might be worth it, but no hard feelings, we can always change that if there
> are complaints..
Noticed that too, but IMO staying 'correct' is more important than
making the output pretty.
But we can always change it later...
>> + Some(address) => {
>> + env.log(format!(
>> + "starting new {} on datastore '{}' from {}: {:?}",
>> + worker_type, store, address.ip(), path
>> + ));
>> + },
>> + None => {
>> + env.log(format!(
>> + "starting new {} on datastore '{}': {:?}",
>> + worker_type, store, path
>> + ));
>> +
> extra empty line here..
>> + }
>> + }
>>
>> let service =
>> H2Service::new(env.clone(), worker.clone(), &BACKUP_API_ROUTER, debug);
>>
Submitted a new patch.
next prev parent reply other threads:[~2023-09-08 14:01 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-21 7:40 Gabriel Goller
2023-09-07 16:53 ` Thomas Lamprecht
2023-09-08 14:01 ` Gabriel Goller [this message]
2023-09-13 7:08 ` Thomas Lamprecht
2023-09-13 8:12 ` 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=9adb5b07-fa2c-7543-1c28-7dcb9b664b4f@proxmox.com \
--to=g.goller@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
--cc=t.lamprecht@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal