#
4528ba97 |
|
06-Sep-2018 |
Gianfranco Valentino <gevalentino@gevalentino.mtv.corp.google.com> |
[cobalt-client]: Public histogram This is the public interface for histograms that will record data. Users are not able to instantiate them directly, this will be done through a peer, that will be in charge of collecting the data, and pushing it to Cobalt. This has two benefits, we can own the memory used for this data structures, plus instatiation is private so updates are more isolated. Note: Updated reverse_map so that bucket 0 lower bound is -DBL_MAX, this we satisfy that bucket_0 = map(reverse_map(0)) which did not happen with infinity. TESTS=cobalt-client-tests, new_tests*150k with 0 fails. Change-Id: Ief79dd768229ddb95c9b285b627ae5ecc55abc8b
|
#
423c26b2 |
|
29-Aug-2018 |
Gianfranco Valentino <gevalentino@gevalentino.mtv.corp.google.com> |
[cobalt-client]: Update for cobalt2.fidl. Update internal data to use a representation compatible with cobalt2.fidl. This is, no ObservationPart or Value, and dimensions are represented as a pair of ints, depicting an event type and an index within the given event type. Until multiple dimensions are supported, we can assume one index being passed. TESTS=cobalt-client-tests Change-Id: Ia4afb4015c38aeeda4152a043c8997e89f4d6efe
|
#
2f410df1 |
|
09-Aug-2018 |
Gianfranco Valentino <gevalentino@gevalentino.mtv.corp.google.com> |
[cobalt-client]: Refactor Histogram. Break down BaseHistogram into a RemoteHistogram and a collection of buckets. RemoteHistogram is the equivalent of a cobalt metric which holds additional data. The BaseHistogram just provides the buckets and the API to interact with it. TEST=cobalt-client-tests Change-Id: I9df29c89d51d74535096438c385fea04d6d432d2
|
#
241abe18 |
|
07-Aug-2018 |
Gianfranco Valentino <gevalentino@gevalentino.mtv.corp.google.com> |
[cobalt-client]: Refactor types. Some moves were not picked up by git. Counter is now just a public wrapper for the private implementation, Histogram will do the same later. Private headers remain, so internal tests can be written. Remote* types refer to a Cobalt metric. Later the local types can be added. The difference is that the local type only expose metrics locally and on realtime, while remote type exposes what has not yet been flushed. Internal headers are in *-internal.h, using PIMPL to avoid pulling cobalt specific fidl header, and internal classes for clients. The Remote/Local separation also provides clear responsibilities, and the user only needs to 'Increment' a value. The histogram will essentially be the same. TEST=cobalt-client-tests Change-Id: If6e856551a23d2ef1fd6645cb9a5e6130f6cae96
|
#
7185a877 |
|
02-Aug-2018 |
Gianfranco Valentino <gevalentino@gevalentino.mtv.corp.google.com> |
[cobalt-client]: Fix test flakyness. Increment the counter before notifying completion and wait for flushing thread to complete. Flushing thread waits for all other threads to finish, and is the only unjoined thread. ZX-2451 TEST=cobalt-client-test Change-Id: Iead720ac561df20b638edd79ced1eb7cc442e9a1
|
#
0e949ee6 |
|
26-Jun-2018 |
gevalentino <gevalentino@gevalentino0.mtv.corp.google.com> |
[cobalt-client]: BaseHistogram and Counter for zircon. Define a atomic Counter and BaseHistogram for zircon. All allocation costs happen upfront when constructing the objects. The Collector(TBI) will own the BaseHistogram and expose a Histogram to the users that allows them increment and query the value of a given bucket, etc. TEST=cobalt_client_test Change-Id: Iffcddca1b3f284776a655e201e1e5219c1246317
|