History log of /openbmc/telemetry/src/utils/ (Results 26 – 45 of 45)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
a950e42b31-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 ...

fbeb5bf403-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 ...

51f0fd5028-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 ...


/openbmc/telemetry/src/details/collection_function.cpp
/openbmc/telemetry/src/details/collection_function.hpp
/openbmc/telemetry/src/discrete_threshold.cpp
/openbmc/telemetry/src/discrete_threshold.hpp
/openbmc/telemetry/src/interfaces/clock.hpp
/openbmc/telemetry/src/interfaces/sensor_listener.hpp
/openbmc/telemetry/src/interfaces/trigger_action.hpp
/openbmc/telemetry/src/metric.cpp
/openbmc/telemetry/src/metric.hpp
/openbmc/telemetry/src/numeric_threshold.cpp
/openbmc/telemetry/src/numeric_threshold.hpp
/openbmc/telemetry/src/on_change_threshold.cpp
/openbmc/telemetry/src/on_change_threshold.hpp
/openbmc/telemetry/src/report.cpp
/openbmc/telemetry/src/report.hpp
/openbmc/telemetry/src/report_factory.cpp
/openbmc/telemetry/src/report_manager.hpp
/openbmc/telemetry/src/sensor.cpp
/openbmc/telemetry/src/sensor.hpp
/openbmc/telemetry/src/trigger.cpp
/openbmc/telemetry/src/trigger_actions.cpp
/openbmc/telemetry/src/trigger_actions.hpp
/openbmc/telemetry/src/trigger_manager.hpp
/openbmc/telemetry/src/types/collection_duration.hpp
/openbmc/telemetry/src/types/duration_types.hpp
clock.hpp
detached_timer.hpp
/openbmc/telemetry/subprojects/phosphor-logging.wrap
/openbmc/telemetry/subprojects/sdbusplus.wrap
/openbmc/telemetry/tests/src/dbus_environment.hpp
/openbmc/telemetry/tests/src/fakes/clock_fake.hpp
/openbmc/telemetry/tests/src/helpers.hpp
/openbmc/telemetry/tests/src/helpers/types/duration_types_helpers.hpp
/openbmc/telemetry/tests/src/mocks/sensor_listener_mock.hpp
/openbmc/telemetry/tests/src/mocks/trigger_action_mock.hpp
/openbmc/telemetry/tests/src/params/trigger_params.hpp
/openbmc/telemetry/tests/src/test_discrete_threshold.cpp
/openbmc/telemetry/tests/src/test_metric.cpp
/openbmc/telemetry/tests/src/test_numeric_threshold.cpp
/openbmc/telemetry/tests/src/test_on_change_threshold.cpp
/openbmc/telemetry/tests/src/test_report.cpp
/openbmc/telemetry/tests/src/test_sensor.cpp
/openbmc/telemetry/tests/src/test_trigger_actions.cpp
b8cc78dd29-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 ...


/openbmc/telemetry/meson.build
/openbmc/telemetry/src/discrete_threshold.cpp
/openbmc/telemetry/src/discrete_threshold.hpp
/openbmc/telemetry/src/interfaces/report.hpp
/openbmc/telemetry/src/interfaces/report_factory.hpp
/openbmc/telemetry/src/interfaces/report_manager.hpp
/openbmc/telemetry/src/interfaces/sensor.hpp
/openbmc/telemetry/src/interfaces/trigger_factory.hpp
/openbmc/telemetry/src/metric.cpp
/openbmc/telemetry/src/metric.hpp
/openbmc/telemetry/src/report.cpp
/openbmc/telemetry/src/report.hpp
/openbmc/telemetry/src/report_factory.cpp
/openbmc/telemetry/src/report_factory.hpp
/openbmc/telemetry/src/report_manager.cpp
/openbmc/telemetry/src/report_manager.hpp
/openbmc/telemetry/src/sensor.cpp
/openbmc/telemetry/src/sensor.hpp
/openbmc/telemetry/src/trigger.cpp
/openbmc/telemetry/src/trigger.hpp
/openbmc/telemetry/src/trigger_actions.cpp
/openbmc/telemetry/src/trigger_actions.hpp
/openbmc/telemetry/src/trigger_factory.cpp
/openbmc/telemetry/src/trigger_factory.hpp
/openbmc/telemetry/src/trigger_manager.cpp
/openbmc/telemetry/src/trigger_manager.hpp
/openbmc/telemetry/src/types/operation_type.hpp
/openbmc/telemetry/src/types/report_types.cpp
/openbmc/telemetry/src/types/report_types.hpp
/openbmc/telemetry/src/types/trigger_types.hpp
conversion.hpp
conversion_trigger.cpp
generate_id.cpp
generate_id.hpp
labeled_tuple.hpp
tstring.hpp
/openbmc/telemetry/tests/meson.build
/openbmc/telemetry/tests/src/mocks/report_factory_mock.hpp
/openbmc/telemetry/tests/src/mocks/report_mock.hpp
/openbmc/telemetry/tests/src/mocks/sensor_mock.hpp
/openbmc/telemetry/tests/src/mocks/trigger_factory_mock.hpp
/openbmc/telemetry/tests/src/params/metric_params.hpp
/openbmc/telemetry/tests/src/params/report_params.hpp
/openbmc/telemetry/tests/src/params/trigger_params.hpp
/openbmc/telemetry/tests/src/test_conversion.cpp
/openbmc/telemetry/tests/src/test_generate_id.cpp
/openbmc/telemetry/tests/src/test_metric.cpp
/openbmc/telemetry/tests/src/test_report.cpp
/openbmc/telemetry/tests/src/test_report_manager.cpp
/openbmc/telemetry/tests/src/test_sensor.cpp
/openbmc/telemetry/tests/src/test_trigger.cpp
/openbmc/telemetry/tests/src/test_trigger_manager.cpp
51497a0c09-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 ...

3eb5686520-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 ...


/openbmc/telemetry/.gitignore
/openbmc/telemetry/meson.build
/openbmc/telemetry/meson_options.txt
/openbmc/telemetry/src/interfaces/metric.hpp
/openbmc/telemetry/src/interfaces/report_factory.hpp
/openbmc/telemetry/src/interfaces/sensor.hpp
/openbmc/telemetry/src/interfaces/trigger.hpp
/openbmc/telemetry/src/interfaces/trigger_factory.hpp
/openbmc/telemetry/src/metric.cpp
/openbmc/telemetry/src/metric.hpp
/openbmc/telemetry/src/report.cpp
/openbmc/telemetry/src/report.hpp
/openbmc/telemetry/src/report_factory.cpp
/openbmc/telemetry/src/report_factory.hpp
/openbmc/telemetry/src/report_manager.cpp
/openbmc/telemetry/src/report_manager.hpp
/openbmc/telemetry/src/sensor.cpp
/openbmc/telemetry/src/sensor.hpp
/openbmc/telemetry/src/sensor_cache.hpp
/openbmc/telemetry/src/trigger.cpp
/openbmc/telemetry/src/trigger.hpp
/openbmc/telemetry/src/trigger_actions.cpp
/openbmc/telemetry/src/trigger_actions.hpp
/openbmc/telemetry/src/trigger_factory.cpp
/openbmc/telemetry/src/trigger_factory.hpp
/openbmc/telemetry/src/trigger_manager.cpp
/openbmc/telemetry/src/trigger_manager.hpp
/openbmc/telemetry/src/types/report_types.hpp
/openbmc/telemetry/src/types/trigger_types.hpp
circular_vector.hpp
/openbmc/telemetry/subprojects/googletest.wrap
/openbmc/telemetry/subprojects/phosphor-logging.wrap
/openbmc/telemetry/subprojects/sdbusplus.wrap
/openbmc/telemetry/tests/src/dbus_environment.hpp
/openbmc/telemetry/tests/src/fakes/clock_fake.hpp
/openbmc/telemetry/tests/src/mocks/metric_mock.hpp
/openbmc/telemetry/tests/src/mocks/report_factory_mock.hpp
/openbmc/telemetry/tests/src/mocks/sensor_mock.hpp
/openbmc/telemetry/tests/src/mocks/trigger_factory_mock.hpp
/openbmc/telemetry/tests/src/mocks/trigger_mock.hpp
/openbmc/telemetry/tests/src/params/report_params.hpp
/openbmc/telemetry/tests/src/params/trigger_params.hpp
/openbmc/telemetry/tests/src/test_metric.cpp
/openbmc/telemetry/tests/src/test_report.cpp
/openbmc/telemetry/tests/src/test_report_manager.cpp
/openbmc/telemetry/tests/src/test_sensor.cpp
/openbmc/telemetry/tests/src/test_trigger.cpp
/openbmc/telemetry/tests/src/test_trigger_manager.cpp
8069771c04-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 ...

3a61702319-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 ...

dcc4e19308-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 ...


/openbmc/telemetry/meson.build
/openbmc/telemetry/src/discrete_threshold.cpp
/openbmc/telemetry/src/discrete_threshold.hpp
/openbmc/telemetry/src/interfaces/metric.hpp
/openbmc/telemetry/src/interfaces/report_factory.hpp
/openbmc/telemetry/src/interfaces/sensor.hpp
/openbmc/telemetry/src/interfaces/trigger_factory.hpp
/openbmc/telemetry/src/metric.cpp
/openbmc/telemetry/src/metric.hpp
/openbmc/telemetry/src/numeric_threshold.cpp
/openbmc/telemetry/src/numeric_threshold.hpp
/openbmc/telemetry/src/on_change_threshold.cpp
/openbmc/telemetry/src/on_change_threshold.hpp
/openbmc/telemetry/src/report.cpp
/openbmc/telemetry/src/report.hpp
/openbmc/telemetry/src/report_factory.cpp
/openbmc/telemetry/src/report_factory.hpp
/openbmc/telemetry/src/report_manager.cpp
/openbmc/telemetry/src/report_manager.hpp
/openbmc/telemetry/src/sensor.hpp
/openbmc/telemetry/src/trigger.cpp
/openbmc/telemetry/src/trigger.hpp
/openbmc/telemetry/src/trigger_actions.hpp
/openbmc/telemetry/src/trigger_factory.cpp
/openbmc/telemetry/src/trigger_factory.hpp
/openbmc/telemetry/src/trigger_manager.cpp
/openbmc/telemetry/src/types/collection_duration.hpp
/openbmc/telemetry/src/types/collection_time_scope.hpp
/openbmc/telemetry/src/types/milliseconds.hpp
/openbmc/telemetry/src/types/operation_type.hpp
/openbmc/telemetry/src/types/report_types.cpp
/openbmc/telemetry/src/types/report_types.hpp
/openbmc/telemetry/src/types/trigger_types.hpp
conversion_trigger.hpp
detached_timer.hpp
json.hpp
labeled_tuple.hpp
tstring.hpp
/openbmc/telemetry/tests/meson.build
/openbmc/telemetry/tests/src/helpers.hpp
/openbmc/telemetry/tests/src/helpers/labeled_tuple_helpers.hpp
/openbmc/telemetry/tests/src/mocks/metric_mock.hpp
/openbmc/telemetry/tests/src/mocks/report_factory_mock.hpp
/openbmc/telemetry/tests/src/params/metric_params.hpp
/openbmc/telemetry/tests/src/params/report_params.hpp
/openbmc/telemetry/tests/src/params/trigger_params.hpp
/openbmc/telemetry/tests/src/test_discrete_threshold.cpp
/openbmc/telemetry/tests/src/test_metric.cpp
/openbmc/telemetry/tests/src/test_numeric_threshold.cpp
/openbmc/telemetry/tests/src/test_report.cpp
/openbmc/telemetry/tests/src/test_report_manager.cpp
/openbmc/telemetry/tests/src/test_trigger.cpp
/openbmc/telemetry/tests/src/test_trigger_manager.cpp
4416fce616-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 ...

a4e6761618-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 ...


/openbmc/telemetry/.gitignore
/openbmc/telemetry/MAINTAINERS
/openbmc/telemetry/OWNERS
/openbmc/telemetry/meson.build
/openbmc/telemetry/meson_options.txt
/openbmc/telemetry/scripts/boost_build_1.74.0.sh
/openbmc/telemetry/src/discrete_threshold.cpp
/openbmc/telemetry/src/discrete_threshold.hpp
/openbmc/telemetry/src/interfaces/trigger_factory.hpp
/openbmc/telemetry/src/interfaces/trigger_types.hpp
/openbmc/telemetry/src/interfaces/types.hpp
/openbmc/telemetry/src/on_change_threshold.cpp
/openbmc/telemetry/src/on_change_threshold.hpp
/openbmc/telemetry/src/report.cpp
/openbmc/telemetry/src/report.hpp
/openbmc/telemetry/src/report_manager.cpp
/openbmc/telemetry/src/report_manager.hpp
/openbmc/telemetry/src/telemetry.hpp
/openbmc/telemetry/src/trigger.cpp
/openbmc/telemetry/src/trigger.hpp
/openbmc/telemetry/src/trigger_actions.cpp
/openbmc/telemetry/src/trigger_actions.hpp
/openbmc/telemetry/src/trigger_factory.cpp
/openbmc/telemetry/src/trigger_factory.hpp
/openbmc/telemetry/src/trigger_manager.cpp
/openbmc/telemetry/src/trigger_manager.hpp
tstring.hpp
/openbmc/telemetry/subprojects/sdbusplus.wrap
/openbmc/telemetry/tests/meson.build
/openbmc/telemetry/tests/src/dbus_environment.cpp
/openbmc/telemetry/tests/src/dbus_environment.hpp
/openbmc/telemetry/tests/src/mocks/trigger_factory_mock.hpp
/openbmc/telemetry/tests/src/params/trigger_params.hpp
/openbmc/telemetry/tests/src/test_discrete_threshold.cpp
/openbmc/telemetry/tests/src/test_on_change_threshold.cpp
/openbmc/telemetry/tests/src/test_report_manager.cpp
/openbmc/telemetry/tests/src/test_trigger.cpp
/openbmc/telemetry/tests/src/test_trigger_actions.cpp
/openbmc/telemetry/tests/src/test_trigger_manager.cpp
9f9ff90a05-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 ...

753e4b3c11-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 ...

e8fc575105-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 ...

d960e1f308-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 ...

1477fe6a02-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 ...


/openbmc/telemetry/MAINTAINERS
/openbmc/telemetry/meson.build
/openbmc/telemetry/meson_options.txt
/openbmc/telemetry/src/interfaces/threshold.hpp
/openbmc/telemetry/src/interfaces/trigger.hpp
/openbmc/telemetry/src/interfaces/trigger_action.hpp
/openbmc/telemetry/src/interfaces/trigger_factory.hpp
/openbmc/telemetry/src/interfaces/trigger_manager.hpp
/openbmc/telemetry/src/interfaces/trigger_types.hpp
/openbmc/telemetry/src/interfaces/types.hpp
/openbmc/telemetry/src/numeric_threshold.cpp
/openbmc/telemetry/src/numeric_threshold.hpp
/openbmc/telemetry/src/persistent_json_storage.cpp
/openbmc/telemetry/src/report.cpp
/openbmc/telemetry/src/report_factory.cpp
/openbmc/telemetry/src/report_factory.hpp
/openbmc/telemetry/src/report_manager.cpp
/openbmc/telemetry/src/report_manager.hpp
/openbmc/telemetry/src/sensor.cpp
/openbmc/telemetry/src/telemetry.hpp
/openbmc/telemetry/src/trigger.cpp
/openbmc/telemetry/src/trigger.hpp
/openbmc/telemetry/src/trigger_factory.cpp
/openbmc/telemetry/src/trigger_factory.hpp
/openbmc/telemetry/src/trigger_manager.cpp
/openbmc/telemetry/src/trigger_manager.hpp
dbus_mapper.hpp
/openbmc/telemetry/tests/meson.build
/openbmc/telemetry/tests/src/mocks/report_mock.hpp
/openbmc/telemetry/tests/src/mocks/trigger_action_mock.hpp
/openbmc/telemetry/tests/src/mocks/trigger_factory_mock.hpp
/openbmc/telemetry/tests/src/mocks/trigger_manager_mock.hpp
/openbmc/telemetry/tests/src/mocks/trigger_mock.hpp
/openbmc/telemetry/tests/src/params/trigger_params.hpp
/openbmc/telemetry/tests/src/test_metric.cpp
/openbmc/telemetry/tests/src/test_numeric_threshold.cpp
/openbmc/telemetry/tests/src/test_report_manager.cpp
/openbmc/telemetry/tests/src/test_trigger.cpp
/openbmc/telemetry/tests/src/test_trigger_manager.cpp
d223819402-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 ...

5ade2b1d16-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 ...

e236279627-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 ...


/openbmc/telemetry/.gitignore
/openbmc/telemetry/meson.build
/openbmc/telemetry/src/interfaces/json_storage.hpp
/openbmc/telemetry/src/interfaces/metric.hpp
/openbmc/telemetry/src/interfaces/report.hpp
/openbmc/telemetry/src/interfaces/report_factory.hpp
/openbmc/telemetry/src/interfaces/report_manager.hpp
/openbmc/telemetry/src/interfaces/types.hpp
/openbmc/telemetry/src/metric.cpp
/openbmc/telemetry/src/metric.hpp
/openbmc/telemetry/src/metric_value.hpp
/openbmc/telemetry/src/persistent_json_storage.cpp
/openbmc/telemetry/src/persistent_json_storage.hpp
/openbmc/telemetry/src/report.cpp
/openbmc/telemetry/src/report.hpp
/openbmc/telemetry/src/report_factory.cpp
/openbmc/telemetry/src/report_factory.hpp
/openbmc/telemetry/src/report_manager.cpp
/openbmc/telemetry/src/report_manager.hpp
/openbmc/telemetry/src/telemetry.hpp
labeled_tuple.hpp
transform.hpp
tstring.hpp
/openbmc/telemetry/tests/meson.build
/openbmc/telemetry/tests/src/dbus_environment.hpp
/openbmc/telemetry/tests/src/mocks/json_storage_mock.hpp
/openbmc/telemetry/tests/src/mocks/metric_mock.hpp
/openbmc/telemetry/tests/src/mocks/report_factory_mock.hpp
/openbmc/telemetry/tests/src/mocks/report_manager_mock.hpp
/openbmc/telemetry/tests/src/mocks/report_mock.hpp
/openbmc/telemetry/tests/src/mocks/sensor_listener_mock.hpp
/openbmc/telemetry/tests/src/params/report_params.hpp
/openbmc/telemetry/tests/src/printers.hpp
/openbmc/telemetry/tests/src/printers/interfaces/json_storage.hpp
/openbmc/telemetry/tests/src/test_detached_timer.cpp
/openbmc/telemetry/tests/src/test_metric.cpp
/openbmc/telemetry/tests/src/test_persistent_json_storage.cpp
/openbmc/telemetry/tests/src/test_report.cpp
/openbmc/telemetry/tests/src/test_report_manager.cpp
/openbmc/telemetry/tests/src/test_sensor.cpp
/openbmc/telemetry/tests/src/test_sensor_cache.cpp
/openbmc/telemetry/tests/src/test_transform.cpp
/openbmc/telemetry/tests/src/test_unique_call.cpp
/openbmc/telemetry/tests/src/utils/conv_container.hpp
b564594729-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 ...


/openbmc/telemetry/.clang-format
/openbmc/telemetry/.gitignore
/openbmc/telemetry/LICENSE
/openbmc/telemetry/MAINTAINERS
/openbmc/telemetry/README.md
/openbmc/telemetry/meson.build
/openbmc/telemetry/meson_options.txt
/openbmc/telemetry/src/interfaces/json_storage.hpp
/openbmc/telemetry/src/interfaces/sensor.hpp
/openbmc/telemetry/src/interfaces/sensor_listener.hpp
/openbmc/telemetry/src/main.cpp
/openbmc/telemetry/src/persistent_json_storage.cpp
/openbmc/telemetry/src/persistent_json_storage.hpp
/openbmc/telemetry/src/report.cpp
/openbmc/telemetry/src/report.hpp
/openbmc/telemetry/src/report_manager.cpp
/openbmc/telemetry/src/report_manager.hpp
/openbmc/telemetry/src/sensor.cpp
/openbmc/telemetry/src/sensor.hpp
/openbmc/telemetry/src/sensor_cache.cpp
/openbmc/telemetry/src/sensor_cache.hpp
/openbmc/telemetry/src/telemetry.hpp
detached_timer.hpp
unique_call.hpp
/openbmc/telemetry/subprojects/boost.wrap
/openbmc/telemetry/subprojects/googletest.wrap
/openbmc/telemetry/subprojects/nlohmann.wrap
/openbmc/telemetry/subprojects/phosphor-logging.wrap
/openbmc/telemetry/subprojects/sdbusplus.wrap
/openbmc/telemetry/tests/meson.build
/openbmc/telemetry/tests/src/dbus_environment.cpp
/openbmc/telemetry/tests/src/dbus_environment.hpp
/openbmc/telemetry/tests/src/main.cpp
/openbmc/telemetry/tests/src/mocks/json_storage_mock.hpp
/openbmc/telemetry/tests/src/mocks/sensor_listener_mock.hpp
/openbmc/telemetry/tests/src/mocks/sensor_mock.hpp
/openbmc/telemetry/tests/src/stubs/dbus_sensor_object.cpp
/openbmc/telemetry/tests/src/stubs/dbus_sensor_object.hpp
/openbmc/telemetry/tests/src/test_detached_timer.cpp
/openbmc/telemetry/tests/src/test_persistent_json_storage.cpp
/openbmc/telemetry/tests/src/test_sensor.cpp
/openbmc/telemetry/tests/src/test_sensor_cache.cpp
/openbmc/telemetry/tests/src/test_unique_call.cpp
/openbmc/telemetry/tests/src/utils/generate_unique_mock_id.cpp
/openbmc/telemetry/tests/src/utils/generate_unique_mock_id.hpp
/openbmc/telemetry/tests/src/utils/sensor_id_eq.hpp
/openbmc/telemetry/xyz.openbmc_project.Telemetry.service.in

12