History log of /openbmc/telemetry/src/report.cpp (Results 1 – 25 of 40)
Revision Date Author Comments
# f535cad6 16-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: I956cf3cb1bbfc017c4d4dceb3195c1d0735b0605
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 5e7cbf42 01-Aug-2024 Michal Orzel <michalx.orzel@intel.com>

Verify reading parameters on update

Adds verification of ReadingParameter's metric count when property is
being updated. This brings consistency with behavior upon adding a new
report, where that sa

Verify reading parameters on update

Adds verification of ReadingParameter's metric count when property is
being updated. This brings consistency with behavior upon adding a new
report, where that same check is being made. Also adds a unit test for
that check.

Tested:
On platform, by updating report's ReadingParameter with object
containing metric count exceeding one specified by
`max-reading-parameters` project option. With this change applied, that
operation failed, as expected.

Change-Id: I06c8e21178d6bd554b62886e0e4f8cd0589f0d09
Signed-off-by: Michal Orzel <michalx.orzel@intel.com>

show more ...


# c7935fa1 20-Oct-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-17 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-17 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I016cb74930cc475843c30bd604e739058effa504
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 38c6409c 05-Oct-2023 Wojciech Tempczyk <wojciechx.tempczyk@intel.com>

Fix static code analysis tool failures

Uncaught exception (boost::system::system_error) is now caught.

Change-Id: I0aa88f173a982ecebfa999fd44ed864be709240c
Signed-off-by: Wojciech Tempczyk <wojciec

Fix static code analysis tool failures

Uncaught exception (boost::system::system_error) is now caught.

Change-Id: I0aa88f173a982ecebfa999fd44ed864be709240c
Signed-off-by: Wojciech Tempczyk <wojciechx.tempczyk@intel.com>

show more ...


# cff70c14 27-Oct-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

Removed FutureVersion from API

Instead of using FutureVersion API currently used version is updated.
This change needs to be bumped together with [1]. API that utilized map
of variants to be more fl

Removed FutureVersion from API

Instead of using FutureVersion API currently used version is updated.
This change needs to be bumped together with [1]. API that utilized map
of variants to be more flexible and backwards compatible was reverted.
It was decided that straight forward API that is commonly used should be
used instead.

Removed MetricId property from Metric. In telemetry it was implemented
as a name for Metric, but it was supposed to work as described in [2].
Currently MetricId is not supported by telemetry service and property
was removed.

Tested:
- After chaging bmcweb to use new API old and new features are working
as expected

[1]: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/44270
[2]: https://redfish.dmtf.org/schemas/v1/MetricReportDefinition.v1_4_2.json

Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: I5930a466a370f268d68f575a4a3db5ee9655e574

show more ...


# 3a1c297a 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I1ac255c58971ac5cc4697b8bb1069067aad02d18
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 18e7101c 02-Nov-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

simplified appendLimit implementation

AppendLimit is now set to max value by default. This simplifies the code
while keeping most of the feature functionality. This change increases
report version a

simplified appendLimit implementation

AppendLimit is now set to max value by default. This simplifies the code
while keeping most of the feature functionality. This change increases
report version and will cause older report to be deleted.

Tested:
- AppendLimit is set by default to max value
- Telemetry features are working as expected

Change-Id: I94c85393a9601c90c00776bf0bc814d85cbf006a
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>

show more ...


# 62c08e9b 16-Sep-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

Redesigned error handling

Current error handling send only error code, which is not enough to
display detailed information. New error handling in additional to
error code send property name. This al

Redesigned error handling

Current error handling send only error code, which is not enough to
display detailed information. New error handling in additional to
error code send property name. This allows to send meaningful messages
back to used about errors.

Tested:
- Old redfish code properly handles errors (reads only error_code)
- Redfish version which read property name from error displays more
detailed error information

Change-Id: I54caa20881ac3f3e38cb295a3aa95ddab491303f
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>

show more ...


# 892f7c81 12-Oct-2022 Szymon Dompke <szymon.dompke@intel.com>

Fix sensor count not updating

When ReadingsParamaters are updated, sensor count may change. This
action should resize buffer and update value of "AppendLimit" property
in case it was not set by user

Fix sensor count not updating

When ReadingsParamaters are updated, sensor count may change. This
action should resize buffer and update value of "AppendLimit" property
in case it was not set by user.

Testing done:
-UTs passing

Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
Change-Id: I96486a808a3cce83c09936262304d0a1f55b3fd7

show more ...


# a8182beb 04-Jul-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

added Enabled to AddReportFutureVersion API

- New parameter added to API
- Changed API to be more flexible in the future

Tested:
- Unit tests are passing
- Tested together with:
https://gerrit.op

added Enabled to AddReportFutureVersion API

- New parameter added to API
- Changed API to be more flexible in the future

Tested:
- Unit tests are passing
- Tested together with:
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/49796/23
POST, PATCH, PUT for MetricReportDefinitions are working correctly

Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: Ic988446d283a581dc6866418b1b27a989c3bc9a0

show more ...


# 32305f14 05-Jul-2022 Szymon Dompke <szymon.dompke@intel.com>

Add length limit for user-defined values

Previously, the only limit for most user-defined values like id or name
was the one enforced by dbus, which was fairly big. In order to save
space used by pe

Add length limit for user-defined values

Previously, the only limit for most user-defined values like id or name
was the one enforced by dbus, which was fairly big. In order to save
space used by persistent data, new meson options were added, with length
limit for those fields.

This directly impacts following dbus interfaces:
- TriggerManager.AddTrigger:
- Id
- Name
- Reports
- Thresholds (only name of discrete threshold)
- Trigger.Name
- Trigger.Reports
- Trigger.Thresholds (only name of discrete threshold)
- ReportManager.AddReport(FutureVersion):
- Id
- Name
- MetricParameters (metricId)
- Report.Name
- Report.ReadingParameters (metricId)

For Id fields we support 'prefixes', which also are limited, but those
limit are separate. So if limit for prefix is set to 5 and limit for
id/name is set to 5, following Ids are fine:
- 12345/12345
- 12345
and following are not:
- 123456/1234
- 1/123456

Testing done:
- UTs are passing.
- new limits are reflected when calling mentioned dbus interfaces.

Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
Change-Id: I29291a1cc56a344d92fb65491c9186fdb90a8529

show more ...


# 1cdd7e4f 08-Jun-2022 Szymon Dompke <szymon.dompke@intel.com>

Use proper dbus path when possible.

Following methods and properties were updated to use full dbus path,
instead of internal telemetry id:
- TriggerManager.AddTrigger() - 'reportIds' arg
- Trigger.R

Use proper dbus path when possible.

Following methods and properties were updated to use full dbus path,
instead of internal telemetry id:
- TriggerManager.AddTrigger() - 'reportIds' arg
- Trigger.ReportIds - renamed to 'Reports'
- Report.TriggerIds - renamed to 'Triggers'

Testing done:
- UTs were updated and are passing.

Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
Change-Id: I78d812d38289fac575d25b48503cc8b9c6f736fe

show more ...


# 973b4bb0 25-Apr-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

fixing Set on report properties

Setting valid value for property which is incorrect for current
configuration will result in OK response, but will change ErrorMessages
property. ErrorMessages will c

fixing Set on report properties

Setting valid value for property which is incorrect for current
configuration will result in OK response, but will change ErrorMessages
property. ErrorMessages will contain information about error type and
property name.

Tested:
- Change interval from 1000 to 0 for periodic report changes status from
Enabled to Disabled.
- Change interval from 0 to 1000 for periodic report changes status from
Disabled to Enabled.

Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
Change-Id: I34add1ed0308b3da0850b1db6a67a217d11b6956

show more ...


# 9e8da546 17-Feb-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

fixed issue with invalid readings being visible

Before this change readings for sensors that are not yet available were
displayed as value 0.0 with timestamp 1970-01-01 which was meant to
represent

fixed issue with invalid readings being visible

Before this change readings for sensors that are not yet available were
displayed as value 0.0 with timestamp 1970-01-01 which was meant to
represent invalid readings. This behaviour is undesired in case of
periodic report with appendLimit set. After this change invalid readings
are no longer visible.

Tested:
- Readings for sensors that is currently not available are not present
on redfish.
- Confirmed in new unit tests that sensor readings can appear in any
order. And produce correct results.

Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: I340b85017530d120f2da2cc8ac4ae1840177e78c

show more ...


# 493e62eb 14-Feb-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

made MetricValues persistent

MetricValues are persistent for reportUpdates AppendStopsWhenFull and
reportingType different than OnRequest.

Tested:
- New unit tests are passing
- Confirmed MetricVal

made MetricValues persistent

MetricValues are persistent for reportUpdates AppendStopsWhenFull and
reportingType different than OnRequest.

Tested:
- New unit tests are passing
- Confirmed MetricValues are preserved after restarting telemetry
service

Change-Id: I7e1990fb391da9debb0d7df2f1dbda86473350cc
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>

show more ...


# f7ea2997 27-Jan-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

added support for onChange report

Report is now notified when metric changes and updates reading values.

Tested:
- Added new unit tests
- OnChange report updates Readings when metric values cha

added support for onChange report

Report is now notified when metric changes and updates reading values.

Tested:
- Added new unit tests
- OnChange report updates Readings when metric values changes

Change-Id: I3be9ef7aa0486cb15bac627aa1de5cc632613b3b
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>

show more ...


# fdb06a14 11-Feb-2022 Szymon Dompke <szymon.dompke@intel.com>

Report: make dbus properties writable

ReadingParametersFutureVersion interface for Reports is enhanced from
read-only to read write and supports modification of readingParameteres,
which is done by

Report: make dbus properties writable

ReadingParametersFutureVersion interface for Reports is enhanced from
read-only to read write and supports modification of readingParameteres,
which is done by updating metrics at the first place and re-registering
them for sensors updates. Similar ReportActions interface is enhanced to
read write. Additionally reportActions policy was modified that reports
always contain 'LogToMetricReportsCollection' action. The whole change
enables Redfish support for PATCH method added on webserver side.

Tested:
- New unit tests were created, ran all new and previous UTs, all passed
- Tested under QEMU, interface was checked for RW via dbus cli commands,
checked if Reading Parameters of the Report can be read or written,
if metrics are properly updated and registration/unregistration for
updates works properly, checked if actions of Report can be read or
written, if actions are properly updated and related action behavior
follows the change accordingly
- Tested under QEMU, verified if 'LogToMetricReportsCollection' action
is always added when Report is created or when actions of Report are
updated by dbus interface
- Tested via webserver if it communicates properly with dbus interfaces
of Telemetry and read/write operations via Redfish can be successfully
executed

Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
Change-Id: I7f2fe8eae1631c436cf61a516d5fd0b8358a76bd

show more ...


# e6d48874 08-Feb-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

Removed dependency to TriggerManager

introduces Messanger class which allows to send messages directly to
subscribed targets, which allows to break dependencies between classes.

Testes:
- All unit

Removed dependency to TriggerManager

introduces Messanger class which allows to send messages directly to
subscribed targets, which allows to break dependencies between classes.

Testes:
- All unit tests are passing
- Links are correctly updated
- Report is correctly updated by Trigger Action

Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: I32d3aaba22f9ec07e611f53fe553bd27e1c04c6d

show more ...


# b4ef22e4 07-Feb-2022 Szymon Dompke <szymon.dompke@intel.com>

Report: Add TriggerIds property

This change is adding TriggerIds property for Report interface. It is an
array of strings, each representing id of trigger which may update given
report Readings prop

Report: Add TriggerIds property

This change is adding TriggerIds property for Report interface. It is an
array of strings, each representing id of trigger which may update given
report Readings property, due to UpdateReport action. This properly is
read-only, but it can be changed in the runtime, when:
- New Trigger is made using AddTrigger dbus method, when ReportId
argument contains id of given report.
- Trigger is deleted from dbus, and its ReportNames property included id
of given report.
- ReportNames property of any trigger is updated to include (or not) id
of given report.

When this property is modified by service, signal will be emitted on
dbus for property change.

When there is existing trigger with id of non-existing report in its
ReportNames property, its id will be added to TriggerIds property of
such report, the moment it is created by user.

Testing done:
- new UTs were made, all UTs are passing.
- manual testing on dbus interface was successful.

Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
Change-Id: I1c4c94ce751ddaee001e3cadde3ea60aa8e1c224

show more ...


# e6c417cf 02-Feb-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

Fixed handling maxAppendLimit

maxLimit prevented using numeric_limits<uint64_t>::max as a way to let
telemetry service deduce appendLimit. This commit fixes constrain to
allow passing this special v

Fixed handling maxAppendLimit

maxLimit prevented using numeric_limits<uint64_t>::max as a way to let
telemetry service deduce appendLimit. This commit fixes constrain to
allow passing this special value.

Tested:
- Added new unit tests that confirm numeric_limits<uint64_t>::max is
correctly handled in telemetry service

Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: I5d67e83475cdfcbb58a71b783ac9eef1e5ad7010

show more ...


# a950e42b 31-Dec-2021 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

Added constrains to id generator

This commit prevents id with more than one '/'. Slash can be used to
create namespaces to avoid id conflicts between multiple users.

Changed generator logic to take

Added constrains to id generator

This commit prevents id with more than one '/'. Slash can be used to
create namespaces to avoid id conflicts between multiple users.

Changed generator logic to take provided id as a name if no name was
provided.

Tested:
- Tested that id and name generates correctly
- It is no longer possible to add id with more than one '/'

Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: Ieef32ddb71b5a4870117aab0d624cbd46b5893e6

show more ...


# fbeb5bf4 03-Jan-2022 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

fixed clang-tidy errors

fixed clang compilation error and few clang-tidy issues

Tested:
- Code compiles, all unit tests are passing
- Number of reported clang-tidy issues decreased

Change-Id: Ie3f

fixed clang-tidy errors

fixed clang compilation error and few clang-tidy issues

Tested:
- Code compiles, all unit tests are passing
- Number of reported clang-tidy issues decreased

Change-Id: Ie3f88db6e2dffb26ec6c56dbdc1ce5bad288dccd
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>

show more ...


# 51f0fd50 28-Dec-2021 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

Fixed issue with wrong timestamp

Telemetry service used steady_clock for generating timestamps, but it
produced incorrect time. This change makes telemetry service use
steady_clock for intervals and

Fixed issue with wrong timestamp

Telemetry service used steady_clock for generating timestamps, but it
produced incorrect time. This change makes telemetry service use
steady_clock for intervals and system_clock for timestamps.

Changed readings timestamp to display current timestamp instead of a
time when reading was received.

Tested:
- correct timestamp is visible on dbus
- other telemetry service features are still working

Change-Id: Ic49f45640532cfffaeff5e0bd5591e6d99e5def5
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>

show more ...


# 3e2cc9d4 14-Dec-2021 Szymon Dompke <szymon.dompke@intel.com>

Update subprojects versions

Local meson + ninja build was failing, because phosphor-logging was set
to old version without meson.build file.

Sdbusplus was also updated, and setters have been update

Update subprojects versions

Local meson + ninja build was failing, because phosphor-logging was set
to old version without meson.build file.

Sdbusplus was also updated, and setters have been updated to reflect its
latest changes.

Testing done:
- local build is working properly.
- UTs are passing.

Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
Change-Id: I71d5a4bbf7aae4573dcfa014fc46a9f7862ecec8

show more ...


# b8cc78dd 29-Nov-2021 Krzysztof Grobelny <krzysztof.grobelny@intel.com>

Api changes in AddReportFuture version

Added support for CollectionFunction, CollectionDuration,
CollectionTimeScope, ReportUpdates, AppendLimit.

New API separates Id and Name, user can decide to p

Api changes in AddReportFuture version

Added support for CollectionFunction, CollectionDuration,
CollectionTimeScope, ReportUpdates, AppendLimit.

New API separates Id and Name, user can decide to pass only Name
to auto generate Id or pass Id which needs to be unique.

Tested:
- No functional changes to old API, everything works as before
- All use cases can be replaced with new API to achieve same results
- New features which require new API work as expected

Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: I647efab36d90a548754f89968223e162a087481e

show more ...


12