-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix static decomposition #1456
base: main
Are you sure you want to change the base?
Fix static decomposition #1456
Conversation
I think we need to rethink this. We don't need the type because it can be inferred from the destination mval. That's why the decomp parsing logic was moved until after we had the 1st set handle. |
@narategithub Can you point me at the test failures and I will take a look? |
@narategithub sorry nevermind the test case is in the pull request |
@narategithub can you remind me how to set up the containers |
@tom95858 FYI, this change won't require "type". If the config does not specify "type", it will be inferred. However, if "type" is specified in the config, the top-of-tree code ignored it. This patch just changed it to take the "type" if it is in the config. I'll email you when I finished setting up the test on cygnus (it is building ...). |
The array value assignment was posted in #1457 . I convert this PR to Draft to keep it open for discussion. |
This patch allows static decomposition configuration to easily access the record member as follows: ``` ... { "src":"netdev_list[rx_bytes]" }, ... ```
4b97bc7
to
54d324c
Compare
@tom95858 This is ready for your review. |
If "fill" was correctly specified, `cfg_col->fill` will have a value. Otherwise, `cfg-col->fill` will be `NULL`. We should use `cfg_col->fill` to determine if "fill" was present.
The "fill" string value was handled incorrectly. This patch fixes the bug.
Test sampler access raw metric value with `mval->v_u64` and increment that value by 1. This works for integer values. When `mval` contains float or double, `mval->v_u64` became big number due to IEEE 754 binary32 or binary64 format. As such, `test_sampler` should use `ldms_mval_as_u64()` to coerce the `mval` to u64 properly.
This PR has been updated to includes "fill" patches #1500 and #1499 (since it depends on a new interface
|
ldms-test/ldmsd_decomp_test
was failing and the following bugs were discovered:This pull request addressed the discovered issued as well as keeping the destination rows consistent within
ldmsd
process life span as follows:cfg_col->type
.cfg_col->type
is setto the specified "type".
cfg_col->type
is discovered from themetric
in theset
beingprocessed. If it cannot be resolved, the row is skipped.
src
(e.g. fromset
) is not the same asthe same type of the
dst
, the value will be coerced. The array values arecoerced element-by-element.
(old texts)
In addition, fourldms_mval
interfaces were also introduced:ldms_mval_set_int()
ldms_mval_set_real()
ldms_mval_array_set_int()
ldms_mval_array_set_real()
The APIs received the biggest size of integer or real number. The conversion of values are handled by the compiler.