#
7d24aa23 |
| 01-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: reformat with meson formatter
Apply the `meson format` results.
Change-Id: I0ff3dc51a6a4e8ea2edf03219e4578fcffe18748 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
#
4444a13c |
| 08-Dec-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: adjust nlohmann-json dependency
- Simplify nlohmann-json dependency in meson.build. - Use consistent dependency variable names (based on Meson style). - Align wrap file name with meson wrapdb
meson: adjust nlohmann-json dependency
- Simplify nlohmann-json dependency in meson.build. - Use consistent dependency variable names (based on Meson style). - Align wrap file name with meson wrapdb choice for the project.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I2e893fd8c300b36a16d704f2002bb966a6e52ce4
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 ...
|
#
0253f6d3 |
| 15-Sep-2022 |
Szymon Dompke <szymon.dompke@intel.com> |
Persistency: store special double values
Json library handles infinity and NaN as null. During deserialization, we expect a double and those files were marked as invalid and removed. To prevent this
Persistency: store special double values
Json library handles infinity and NaN as null. During deserialization, we expect a double and those files were marked as invalid and removed. To prevent this behavior and preserve all double values, LabeledTuple 'to_json' and 'from_json' functions were improved to accommodate those special values by using string literals.
Testing done: - UTs added for double<=>json conversion. - UTs passing.
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com> Change-Id: I9193df29cce1db28cda3c895d117d9f3bfca2c24
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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
8069771c |
| 04-Mar-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
added support for Collection Functions
new supported operations: min,max,sum,avg new supported time scopes: interval,startup
added unit test to verify that each collection function returns correct
added support for Collection Functions
new supported operations: min,max,sum,avg new supported time scopes: interval,startup
added unit test to verify that each collection function returns correct timestamp and value
Tested: - POST/GET on telemetry features in bmcweb, no regression detected - Using dbus API metric with collection function works as expected
Change-Id: Ib364c433915e07fd7a102f00109525362c40ab8a Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|
#
a74e44f6 |
| 23-Jul-2021 |
Lukasz Kazmierczak <lukasz.kazmierczak@intel.com> |
Extending meson build system to support fast compilation during development stage
Tested compilation against 3 build configurations - with lto for src and tests/src (for release sw): all: ~3 min;
Extending meson build system to support fast compilation during development stage
Tested compilation against 3 build configurations - with lto for src and tests/src (for release sw): all: ~3 min; change in cpp file: ~2 min - with lto for src and no_lto for tests/src (for release sw): all: ~2 min; change in cpp file:~ 40 sec - after using scripts/configure_fast_compilation.sh (for development only): all: ~1.75 min; change in cpp file: ~20 sec
Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com> Change-Id: Idf435d8455260d2d988cb7286d71401f21fd03e2
show more ...
|
#
dcc4e193 |
| 08-Mar-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
created AddReportFutureVersion dbus method
New method will support CollectionTimeScope, CollectionDuration
In order to make not breaking interface changes bmcweb will switch to AddReportFutureVersi
created AddReportFutureVersion dbus method
New method will support CollectionTimeScope, CollectionDuration
In order to make not breaking interface changes bmcweb will switch to AddReportFutureVersion, then AddReport will be changed to match AddReportFutureVersion, then redfish will switch back to use AddReport, then AddReportFutureVersion will be removed.
Tested: - Verified that current version of bmcweb works fine with old API
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com> Change-Id: I51a9b7fb2f4da5b8d2f688ccd5e93710352b1ac7
show more ...
|
#
4416fce6 |
| 16-Mar-2021 |
Cezary Zwolak <cezary.zwolak@intel.com> |
Read persistent triggers from storage
Read json storage file for persistent triggers. Add trigger to telemetry service. Cover code with UTs.
Tested: - Passed unit tests - Tested on QEMU * s
Read persistent triggers from storage
Read json storage file for persistent triggers. Add trigger to telemetry service. Cover code with UTs.
Tested: - Passed unit tests - Tested on QEMU * starting app without configuration * restart app with configuration stored * restart app with configuration in incorrect version * restart app with configuration malformed
Change-Id: I2cb9324abdb8323be8a7f0c932ed7f70c5bc2891 Signed-off-by: Cezary Zwolak <cezary.zwolak@intel.com> Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
show more ...
|
#
f763c9e3 |
| 12-Mar-2021 |
Szymon Dompke <szymon.dompke@intel.com> |
Added discrete threshold trigger support
Implemented discrete threshold logic Discrete trigger with empty threshold array is handled as 'onChange' Added unit tests coverage for discrete trigger
Sup
Added discrete threshold trigger support
Implemented discrete threshold logic Discrete trigger with empty threshold array is handled as 'onChange' Added unit tests coverage for discrete trigger
Supported scenarios: -discrete threshold with value and dwell time -discrete threshold with value, without dwell time -discrete trigger without threshold ('onChange')
Tests: -Unit tests passed
Change-Id: Id60a48f4113bd955d97e154888c00d1b6e5490af Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
show more ...
|
#
596a9945 |
| 27-Jan-2021 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Fix meson file and remove warnings from compilation
Fixed meson file by applying proper dependency. Removed boost from subprojects because boost does not support cmake and meson. User is able to bui
Fix meson file and remove warnings from compilation
Fixed meson file by applying proper dependency. Removed boost from subprojects because boost does not support cmake and meson. User is able to build boost manually or using a script boost_build_1.74.0.sh and set BOOST_ROOT variable to build files. Then reruning meson should detect boost dependency with positive result.
Removed all warnings from compilation by applying a new flag for boost - BOOST_ALLOW_DEPRECATED_HEADERS, after boost update this flag should be removed. Changed tmpnam() with temp_directory_path provided by std::filesystem.
Tested: - Built telemetry with success in cases when different components are not installed on system: nlohmann, sdbusplus, googletest, phosphor-logging. - Using BOOST_ROOT variable that points to installation location of boost allows to build telemetry wihtout boost installed on system. - Unit test passed.
Change-Id: I8d430f4c51b7bc6669c8533e1a76c4666efd4fc6 Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
show more ...
|
#
d960e1f3 |
| 08-Jan-2021 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Implement Trigger Actions
Now action is triggered when threshold is crossed. There are 3 actions: write message to journal, write message to journal as Redfish Event and update an existing Report. T
Implement Trigger Actions
Now action is triggered when threshold is crossed. There are 3 actions: write message to journal, write message to journal as Redfish Event and update an existing Report. To update an existing Report updateReading method is changed to public. Added UpdateReport to ReportManager, now object is able to update readings of any report using report name.
Tested: - Unit tests passed - Verified that logs are propagated to journal when threshold is crossed
Change-Id: Iebca7c8b9ab9b50b4c401877ccf8c2f01f1e6f36 Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
show more ...
|
#
1477fe6a |
| 02-Jan-2021 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Implement NumericThreshold for Trigger
Implemented NumericThreshold for Trigger that allows to set expected threshold value for collection of sensors and monitors if this value is crossed. Implement
Implement NumericThreshold for Trigger
Implemented NumericThreshold for Trigger that allows to set expected threshold value for collection of sensors and monitors if this value is crossed. Implemented detection of direction when threshold value is crossed. Added initial interface that is used to commit an action when threshold value is crossed. Moved Sensor Cache from Report Factory to Telemetry class, now Sensor Cache is shared between Report Factory and Trigger Factory. Moved fetching sensor from Dbus to seperate header to have single implementation for factories. Disabled tests that uses boost coroutine because of false positive that is catched by address sanitizer.
Tested: - Passed unit tests - Built in yocto envrionment with success - Telemetry service started successfully in OpenBMC
Change-Id: I1ff7ab96174a27576786f0b9a71554fe1eeff436 Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
show more ...
|
#
76833cb5 |
| 21-Dec-2020 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Add TriggerManager and Trigger objects
Implemented initial version of Trigger and TriggerManager DBus interfaces. Now DBus user is able to add new Trigger and delete it. There is no support for othe
Add TriggerManager and Trigger objects
Implemented initial version of Trigger and TriggerManager DBus interfaces. Now DBus user is able to add new Trigger and delete it. There is no support for other functionality added.
Tested: - Built using yocto dependencies with success - Unit tests passed - Verified manually if Trigger and TriggerManager works as expected
Change-Id: Ie68463526ecccc3be67cc7bfaaf9a9aa7326dee6 Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
show more ...
|
#
6ccfcbf5 |
| 04-Nov-2020 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Created metric class
Metric collects updates from sensor. Report displays metric readings depending on reportingType.
Tested: - Added new units tests for Metric class - All other unit tests are
Created metric class
Metric collects updates from sensor. Report displays metric readings depending on reportingType.
Tested: - Added new units tests for Metric class - All other unit tests are passing
Change-Id: I19f4831fab163a4f9540cef7bb23e903ae90fddf Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|
#
e2362796 |
| 27-Oct-2020 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Implement Report persistency
Now Report properties are stored in non-volatile memory. It allows to restore Report after system restart. Persistency of a report is controlled by Persistency property
Implement Report persistency
Now Report properties are stored in non-volatile memory. It allows to restore Report after system restart. Persistency of a report is controlled by Persistency property in Report interface.
Tested: - Passed unit tests - Verified that report is stored in /var/lib/telemetry dir - Verified that report is restored from storage after telemetry service start
Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com> Change-Id: Iccfe21603eecffc4e174a4403f699b03de320db9
show more ...
|
#
c8e3a64a |
| 23-Oct-2020 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Added Periodic reportingType support to Report
When report interval expires report will collect readings from metrics and update timestamp.
Tested: - Added new units tests covering added code -
Added Periodic reportingType support to Report
When report interval expires report will collect readings from metrics and update timestamp.
Tested: - Added new units tests covering added code - All existing unit tests are passing
Change-Id: I7f23ca05d77efb0f18d2c0d0f138c524ffb4f6af Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|
#
2f9f9b87 |
| 13-Oct-2020 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Add ReportManager and Report unit tests
Introduced ReportFactory to seperate Report and ReportManager unit tests. Implemented mocks for Report, ReportManager and ReportFactory classes. Added tests f
Add ReportManager and Report unit tests
Introduced ReportFactory to seperate Report and ReportManager unit tests. Implemented mocks for Report, ReportManager and ReportFactory classes. Added tests for DBus Properties and Methods provided by telemetry service.
Tested: - Ran unit-tests with success
Change-Id: I1860e280d26ee4becc52de98dd65e5697d26b376 Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
show more ...
|
#
b5645947 |
| 29-Sep-2020 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Implemented sensor class
Sensor class was introduced, it monitors xyz.openbmc_project.Sensor.Value, for change and notifies all listeners.
Tested: - Unit tested with service stub that provides db
Implemented sensor class
Sensor class was introduced, it monitors xyz.openbmc_project.Sensor.Value, for change and notifies all listeners.
Tested: - Unit tested with service stub that provides dbus interface xyz.openbmc_project.Sensor.Value - All changes are delivered to listeners - All other unit tests are passing
Change-Id: I8c9d58cc986c1fe2a4d2386815d559814016efa6 Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|
#
7f06f613 |
| 24-Sep-2020 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Created sensor cache class
Created sensor cache and sensor interface that needs to be implemented by sensors.
Tested: - Sensors created by sensor cache are stored and reused if there is try to ac
Created sensor cache class
Created sensor cache and sensor interface that needs to be implemented by sensors.
Tested: - Sensors created by sensor cache are stored and reused if there is try to access same sensor multiple times. - All other units tests are passing
Change-Id: I552b2016bca4688e1b2a223297587826af256b54 Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|