From: "Ambrozewicz, Adrian" <adrian.ambrozewicz@linux.intel.com>
To: Ed Tanous <ed@tanous.net>,
"Bills, Jason M" <jason.m.bills@linux.intel.com>
Cc: "openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>
Subject: Re: Sensor Value PropertiesChanged Events
Date: Tue, 2 Feb 2021 11:02:53 +0100 [thread overview]
Message-ID: <01c540f2-9d7e-b54c-42c0-ed0bf666a090@linux.intel.com> (raw)
In-Reply-To: <CACWQX83KhqORsx-Gm4CCEndADO-GEgNHtxPpHR2ptsgzmtU9xA@mail.gmail.com>
W dniu 2/2/2021 o 01:42, Bills, Jason M pisze:
> 1. Is this a real concern or are PropertiesChanged signals so
lightweight that removing them won't help with D-Bus load?
Without proper measurements I don't believe we can be sure. Can we
reliably benchmark how much CPU time and memory is used by
PropertiesChanged roaming through the system?
I would be interested in investing some time at profiling existing
dbus-sensors services, as from time to time we're experiencing
performance issues with them.
My trust in systemd D-Bus implementation is that signals are implemented
in optimal way and broker doesn't broadcast it to services without
proper 'match' defined. It should be checked though
Moving to polling might in fact increase D-Bus utilization by
introducing message-response communication between producer and
consumer. In certain cases of sensors which tend to update slowly,
introducing a getter with faster interval would increase the traffic, if
the interval would be faster than the sensor update rate.
> 2. Does anyone need to match on sensor Value property updates or is
reading them with get-property enough?
TelemetryService specifies 'OnChange' mode for monitoring Metrics - "The
metric report is generated when any of the metric values change.".
My current experience with TelemetryService adopters, shows that
administrators and data scientist want to get all the information they
can (all sensors, possibly with highest rate). With more focus on
telemetry these days I would expect more (hundreds of thousands) sensors
to come. Polling each of them individually could be not feasible.
Furthermore - having reliable event-based updates is crucial for
catching short-lived anomalies (voltage spikes etc). I believe they are
events of particular interest for data-center admins, while being easy
to miss with polling-based updates.
Algorithms working based on sensor updates would be also crippled in
this case, as missing samples means worse accuracy.
To sum up - I believe moving away from PropertiesChanged event would
limit pretty important use cases for system telemetry. I wouldn't mind
however on working out more performant solution, while keeping the same
(or better) features:
- optimal and efficient one-to-many broadcasting,
- queuing multiple updates to be consumed by receiver,
- low overhead of yet another side-band channel.
Regards,
Adrian
next prev parent reply other threads:[~2021-02-03 0:40 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-02 0:42 Sensor Value PropertiesChanged Events Bills, Jason M
2021-02-02 1:26 ` Ed Tanous
2021-02-02 10:02 ` Ambrozewicz, Adrian [this message]
2021-02-04 15:55 ` Patrick Williams
2021-02-02 20:39 ` Bills, Jason M
2021-02-03 0:11 ` Andrew Jeffery
2021-02-03 1:28 ` Andrew Jeffery
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=01c540f2-9d7e-b54c-42c0-ed0bf666a090@linux.intel.com \
--to=adrian.ambrozewicz@linux.intel.com \
--cc=ed@tanous.net \
--cc=jason.m.bills@linux.intel.com \
--cc=openbmc@lists.ozlabs.org \
/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;
as well as URLs for NNTP newsgroup(s).