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 ...
|
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 ...
|
51497a0c | 09-Nov-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Using enum class instead of string in more places
ReportingType and ReportUpdates are now used as enum class in more places than before. Changed how this two fields are stored in persistent configur
Using enum class instead of string in more places
ReportingType and ReportUpdates are now used as enum class in more places than before. Changed how this two fields are stored in persistent configuration. Increased Report::Version to break backward compatibility. Updated unit tests to verify changed functionality.
Tested: - All existing tests are passing
Change-Id: I55db205aefbe2b5a69fb7a31ccf11885aaecaaf2 Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|
3eb56865 | 20-Sep-2021 |
Szymon Dompke <szymon.dompke@intel.com> |
Add support for AppendLimit and ReportUpdates
Added 2 new properties for Report interface: AppendLimit and ReportUpdates. They were also added as arguments to the future version of AddReport method
Add support for AppendLimit and ReportUpdates
Added 2 new properties for Report interface: AppendLimit and ReportUpdates. They were also added as arguments to the future version of AddReport method of ReportManager.
ReportUpdates property defines the report update behavior: - Overwrite: Each report update overrides previous "Readings" property. "AppendLimit" set by user is not respected - "Readings" property size is equal to count of all sensor across all metrics defined in report. - AppendWrapsWhenFull: New readings are appended until limit specified by "AppendLimit" is reached. Then oldest readings are overwritten by new ones. - AppendStopsWhenFull: New readings are appended until limit specified by "AppendLimit" is reached. Then updates are stopped. - NewReport: not supported yet and will be implemented in the future.
Please note that if ReportingType is set to OnRequest, those 2 new properties are ignored, and Readings property will contain one reading per defined sensor, across all metrics. They are still stored, which means that if ReportingType will be changed in the runtime, those properties will be respected.
Tested: - Both new properties can be accessed from dbus. - Both properties are reflected in Readings property. - Old AddReport method is working as before the change. - UTs are passing.
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com> Change-Id: I8a18f7e68215f0f6e5c403b533d2c4ff479df69e
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 ...
|
3a617023 | 19-Jul-2021 |
Szymon Dompke <szymon.dompke@intel.com> |
Refactor metadata returned by Readings property
Reading metadata is now JSON containg SensorDbusPath and SensorRedfishUri. It is returned only if JSON metadata was provided during Report creation, o
Refactor metadata returned by Readings property
Reading metadata is now JSON containg SensorDbusPath and SensorRedfishUri. It is returned only if JSON metadata was provided during Report creation, otherwise old behavior is maintained.
Additionally, json.hpp was removed as LabeledTupple is now used for serialization and deserialization of metric and reading metadata.
Testing done: - Unit test is passing as metric is returning proper metadata. - Redfish get on redfish/v1/TelemetryService/MetricReports is containing MetricDefinition property, which utilizes SensorDbusPath metadata.. Done on custom version of bmcweb.
Change-Id: I1b2cc4440d03e0fe45151b630f4e439839ed8589 Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
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 ...
|
a4e67616 | 18-Feb-2021 |
Cezary Zwolak <cezary.zwolak@intel.com> |
Save persistent triggers to storage
Create json storage file for persistent triggers. Handle persistent dbus property. Save/remove persistent triggers on add/delete. Cover code with UTs.
Tested:
Save persistent triggers to storage
Create json storage file for persistent triggers. Handle persistent dbus property. Save/remove persistent triggers on add/delete. Cover code with UTs.
Tested: - Passed unit tests - Tested on QEMU * adding new valid and invalid trigger from cli * verifying if valid trigger is properly stored * deleting existed trigger from storage
Change-Id: I243326e84833a8cb22075fbf565573b62b205b4a Signed-off-by: Cezary Zwolak <cezary.zwolak@intel.com> Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
show more ...
|
9f9ff90a | 05-Mar-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Revert "created AddReportFutureVersion dbus method"
This reverts commit 753e4b3c843dd5d1068949c4106a6389f0e0ffbc.
Reason for revert: Breaks bmcweb, same approach is needed for changed properties
C
Revert "created AddReportFutureVersion dbus method"
This reverts commit 753e4b3c843dd5d1068949c4106a6389f0e0ffbc.
Reason for revert: Breaks bmcweb, same approach is needed for changed properties
Change-Id: Id868159df916fcf0bdd7fc5062f8c51187fcc7e2
show more ...
|
753e4b3c | 11-Feb-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.
Change-Id: I9cc906cc1fa7cdf27be7e433390c516f6bae3c50 Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|
e8fc5751 | 05-Feb-2021 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Changed dbus add report interface
- metric parameters now take single sensor instead of list - added interface support for new operation types
Tested: - All telemetry tests are passing.
Signed-off
Changed dbus add report interface
- metric parameters now take single sensor instead of list - added interface support for new operation types
Tested: - All telemetry tests are passing.
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com> Change-Id: Id3a41c48e81a287e7d205ae1c747daa36d4cdb29
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 ...
|
d2238194 | 02-Dec-2020 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Review fixes for 'Created metric class'
- Changed metric to_json to dumpConfiguration returning LabeledTuple - LabeledTuple can be created and assigned directly to json - LabeledTuple can be readed
Review fixes for 'Created metric class'
- Changed metric to_json to dumpConfiguration returning LabeledTuple - LabeledTuple can be created and assigned directly to json - LabeledTuple can be readed from json using json.get<LabeledTuple> - Added PrintTo for LabeledMetricParams, LabeledSensorParams - Added helper method expectMake to ReportFactoryMock - sensorPaths are serialized to tuple<service, path> instead of single field with service and path separated via ':' - Changed configuration version from 1 to 2
Change-Id: I7c45fb584687172f88fd549a93329264793b0b8e Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
show more ...
|
5ade2b1d | 16-Nov-2020 |
Wludzik, Jozef <jozef.wludzik@intel.com> |
Remove retry "GetProperty" on fail
Removed retry "GetProperty" on fail when sensor is not present. Monitoring PropertiesChanged signal is enough to get the latest value from sensor when it is added
Remove retry "GetProperty" on fail
Removed retry "GetProperty" on fail when sensor is not present. Monitoring PropertiesChanged signal is enough to get the latest value from sensor when it is added to dbus environment. Added test that check if newly added properties to dbus environment send PropertiesChanged signal.
Tested: - All unit tests passed
Change-Id: Ibe92b23dd062a6d48b0b6d5bc0dc2198bcfa7a5e Signed-off-by: Wludzik, Jozef <jozef.wludzik@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 ...
|
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 ...
|