summaryrefslogtreecommitdiff
path: root/libstats
AgeCommit message (Collapse)Author
2021-04-20Use libgtest_prod_headers.Elliott Hughes
Bug: http://b/185916167 Test: treehugger Change-Id: I9ece5926944b8c881e3a117cda2c99281c59b61e
2021-04-19Use the new more inclusive command-line options.Joel Galenson
Test: Compile Change-Id: I31a33d5432470fb57edc17751536fe1ae98e6838
2021-04-06[LSC] Add LOCAL_LICENSE_KINDS to system/coreBob Badour
Added SPDX-license-identifier-Apache-2.0 to: libstats/pull_rust/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I362f72ab99850558ddc7b50108c1ec6a212cb258
2021-03-31Add Rust interface for the pull API.Joel Galenson
Test: Manually run statsd_testdrive Change-Id: Ib2e99ddbd60d054189caac712e0ae5438045f0bc
2021-03-17[LSC] Add LOCAL_LICENSE_KINDS to system/coreBob Badour
Added SPDX-license-identifier-Apache-2.0 to: libstats/pull_lazy/Android.bp libstats/socket_lazy/Android.bp trusty/utils/acvp/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I33005150521238b61d1a8c923749b17d36bba693
2021-03-15Create libstatspull_lazyTej Singh
Add lazy loading support to libstatspull. There are a few clients (surfaceflinger, bootanimation dependencies) that run before the statsd apex is mounted and cannot link libstatspull.so when the process starts. Lazy loading will load the library when the apis to set/clear callbacks or create PullAtomMetadata get called. This change is modeled heavily off of aosp/1570701, which added libnativehelper_lazy. Bug: 178480419 Test: atest libstatspull_lazy_test Change-Id: I9956f5a690aec8c7ff9f0834a3f36387e5d8b23f
2021-03-15Create libstatssocket_lazyTej Singh
Add lazy loading support to libstatssocket. There are many clients of libstatssocket (lmkd, surfaceflinger, bootanimation dependencies) that run before the statsd apex is mounted and cannot link libstatssocket.so when the process starts. Lazy loading will load the library when the logging apis get called. This change is modeled heavily off of aosp/1570701, which added libnativehelper_lazy. Bug: 178480419 Test: atest libstatssocket_lazy_test Change-Id: I57e6f698ad43dddc98dc787ba2fe888030c8a282
2021-02-19[LSC] Add LOCAL_LICENSE_KINDS to system/coreBob Badour
Added SPDX-license-identifier-Apache-2.0 to: bootstat/Android.bp cli-test/Android.bp code_coverage/Android.bp cpio/Android.bp debuggerd/crasher/Android.bp debuggerd/proto/Android.bp diagnose_usb/Android.bp fs_mgr/libdm/Android.bp fs_mgr/libfiemap/Android.bp fs_mgr/liblp/Android.bp fs_mgr/libsnapshot/Android.bp fs_mgr/libstorage_literals/Android.bp fs_mgr/libvbmeta/Android.bp fs_mgr/tests/Android.bp fs_mgr/tools/Android.bp gatekeeperd/Android.bp healthd/Android.bp healthd/testdata/Android.bp init/Android.bp init/Android.mk init/sysprop/Android.bp init/test_kill_services/Android.bp init/test_service/Android.bp libappfuse/Android.bp libasyncio/Android.bp libbinderwrapper/Android.bp libcrypto_utils/Android.bp libcrypto_utils/tests/Android.bp libdiskconfig/Android.bp libgrallocusage/Android.bp libkeyutils/mini_keyctl/Android.bp libmodprobe/Android.bp libnetutils/Android.bp libpackagelistparser/Android.bp libprocessgroup/Android.bp libprocessgroup/cgrouprc/Android.bp libprocessgroup/cgrouprc_format/Android.bp libprocessgroup/profiles/Android.bp libprocessgroup/setup/Android.bp libqtaguid/Android.bp libsparse/Android.bp libstats/push_compat/Android.bp libsuspend/Android.bp libsync/Android.bp libsystem/Android.bp libsysutils/Android.bp libusbhost/Android.bp libutils/Android.bp libvndksupport/Android.bp libvndksupport/tests/Android.bp llkd/Android.bp llkd/tests/Android.bp property_service/libpropertyinfoparser/Android.bp property_service/libpropertyinfoserializer/Android.bp property_service/property_info_checker/Android.bp qemu_pipe/Android.bp reboot/Android.bp rootdir/Android.bp rootdir/Android.mk rootdir/avb/Android.bp rootdir/avb/Android.mk run-as/Android.bp sdcard/Android.bp set-verity-state/Android.bp shell_and_utilities/Android.bp storaged/Android.bp toolbox/Android.bp trusty/apploader/Android.bp trusty/confirmationui/Android.bp trusty/confirmationui/fuzz/Android.bp trusty/coverage/Android.bp trusty/fuzz/Android.bp trusty/fuzz/test/Android.bp trusty/gatekeeper/Android.bp trusty/gatekeeper/fuzz/Android.bp trusty/keymaster/Android.bp trusty/keymaster/fuzz/Android.bp trusty/libtrusty/Android.bp trusty/libtrusty/tipc-test/Android.bp trusty/secure_dpu/Android.bp trusty/storage/interface/Android.bp trusty/storage/lib/Android.bp trusty/storage/proxy/Android.bp trusty/storage/tests/Android.bp trusty/utils/spiproxyd/Android.bp trusty/utils/trusty-ut-ctrl/Android.bp usbd/Android.bp watchdogd/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: debuggerd/Android.bp fastboot/Android.bp libkeyutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT to: libcutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT to: fs_mgr/Android.bp fs_mgr/libfs_avb/Android.bp trusty/Android.bp trusty/utils/rpmb_dev/Android.bp Added SPDX-license-identifier-BSD to: fastboot/fuzzy_fastboot/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Id740a7d2884556081fdb68876584b25eb95e1bef
2021-02-16Revert "[LSC] Add LOCAL_LICENSE_KINDS to system/core"Elliott Hughes
This reverts commit 187b7d19504ca8bdcbc6217c06a117017b4c6287. Reason for revert: system/core is multiple projects, not one. Change-Id: I790ea41741f8cd9b8b6db2f59a49e71fb0958fd6
2021-02-16[LSC] Add LOCAL_LICENSE_KINDS to system/coreBob Badour
Added SPDX-license-identifier-Apache-2.0 to: bootstat/Android.bp cli-test/Android.bp code_coverage/Android.bp cpio/Android.bp debuggerd/crasher/Android.bp debuggerd/proto/Android.bp diagnose_usb/Android.bp fs_mgr/libdm/Android.bp fs_mgr/libfiemap/Android.bp fs_mgr/liblp/Android.bp fs_mgr/libsnapshot/Android.bp fs_mgr/libstorage_literals/Android.bp fs_mgr/libvbmeta/Android.bp fs_mgr/tests/Android.bp fs_mgr/tools/Android.bp gatekeeperd/Android.bp healthd/Android.bp healthd/testdata/Android.bp init/Android.bp init/Android.mk init/sysprop/Android.bp init/test_kill_services/Android.bp init/test_service/Android.bp libappfuse/Android.bp libasyncio/Android.bp libbinderwrapper/Android.bp libcrypto_utils/Android.bp libcrypto_utils/tests/Android.bp libdiskconfig/Android.bp libgrallocusage/Android.bp libkeyutils/mini_keyctl/Android.bp libmodprobe/Android.bp libnetutils/Android.bp libpackagelistparser/Android.bp libprocessgroup/Android.bp libprocessgroup/cgrouprc/Android.bp libprocessgroup/cgrouprc_format/Android.bp libprocessgroup/profiles/Android.bp libprocessgroup/setup/Android.bp libqtaguid/Android.bp libsparse/Android.bp libstats/push_compat/Android.bp libsuspend/Android.bp libsync/Android.bp libsystem/Android.bp libsysutils/Android.bp libusbhost/Android.bp libutils/Android.bp libvndksupport/Android.bp libvndksupport/tests/Android.bp llkd/Android.bp llkd/tests/Android.bp property_service/libpropertyinfoparser/Android.bp property_service/libpropertyinfoserializer/Android.bp property_service/property_info_checker/Android.bp qemu_pipe/Android.bp reboot/Android.bp rootdir/Android.bp rootdir/Android.mk rootdir/avb/Android.bp rootdir/avb/Android.mk run-as/Android.bp sdcard/Android.bp set-verity-state/Android.bp shell_and_utilities/Android.bp storaged/Android.bp toolbox/Android.bp trusty/apploader/Android.bp trusty/confirmationui/Android.bp trusty/confirmationui/fuzz/Android.bp trusty/coverage/Android.bp trusty/fuzz/Android.bp trusty/fuzz/test/Android.bp trusty/gatekeeper/Android.bp trusty/gatekeeper/fuzz/Android.bp trusty/keymaster/Android.bp trusty/keymaster/fuzz/Android.bp trusty/libtrusty/Android.bp trusty/libtrusty/tipc-test/Android.bp trusty/secure_dpu/Android.bp trusty/storage/interface/Android.bp trusty/storage/lib/Android.bp trusty/storage/proxy/Android.bp trusty/storage/tests/Android.bp trusty/utils/spiproxyd/Android.bp trusty/utils/trusty-ut-ctrl/Android.bp usbd/Android.bp watchdogd/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: debuggerd/Android.bp fastboot/Android.bp libkeyutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT to: Android.bp libcutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT to: fs_mgr/Android.bp fs_mgr/libfs_avb/Android.bp trusty/utils/rpmb_dev/Android.bp Added SPDX-license-identifier-BSD to: fastboot/fuzzy_fastboot/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I5bd81adb5cdcf2b4dd4141b204eb430ff526af8f
2020-12-10Migrate to packages/modules/StatsD/lib/*Baligh Uddin
BUG: 167962588 Test: TH Merged-In: I22db7e344a9a96bfc16e009624b4896625306e83 Change-Id: I0c4e4aaece738259bafe57d420dfd1c941f834de Exempt-From-Owner-Approval: Code Migration / Cleanup
2020-12-04Fix visibility rules for apex/statsdBaligh Uddin
The //frameworks/base/apex/statsd path is being migrated to //packages/modules/StatsD/apex. BUG: 167962588 TEST: TH Change-Id: Ifa64bd8268f1515597b11376cdf08828983e0c60
2020-12-02Add visibility for statsd in prep for migration.Baligh Uddin
BUG: 167962588 TEST: TH Change-Id: If8579f0942eb051e41105a56891953eda00920d2
2020-09-18Use libcutils_headers for android_filesystem_config.hTom Cherry
android_filesystem_config.h is found since system/core/include is on the include path for all projects and contains a symlink to the real android_filesystem_config.h. This is fragile and the below bug seeks to remove this symlink and have users correctly depend on libcutils_headers. Bug: 165825252 Test: build Change-Id: I1aad6a2e8fbe87635e97b0ac1be3414403353382
2020-09-16Remove include/private/android_logger.hTom Cherry
Users should depend on liblog or liblog_headers for this include. Test: treehugger Change-Id: I10dca8638082b2231e2c0713644f103c4c7e9b3f
2020-06-10Do not truncate AStatsEvent buffersRuchir Rastogi
Pushed atoms do not need to be truncated because only the bytes added to the buffer are written to the socket. Pulled atoms do not need to be truncated because within stats_pull_atom_callback.cpp, we only copy the valid parts of the buffer to the StatsEventParcel object. This improves performance by avoiding a needless call to realloc. + removed dead benchmarking code Test: m libstatssocket Test: atest libstatssocket_test Test: atest GtsStatsdHostTestCases Bug: 158717786 Change-Id: I6965f8832758203ca566336ba12d0acaf5f756d5
2020-06-09Increase size limit for pulled AStatsEventMuhammad Qureshi
Increase AStatsEvent max byte size to 50 KB for pulled events. All AStatsEvent instances are treated as pulled events unless AStatsEvent_write() is called. - Set the default max size to 50 KB - The starting buffer size is still ~4 KB for pushed and pulled events. - If a write would exceed the buffer bounds, double buffer size until write fits or 50 KB limit is exceeded in which case the overflow bit is set to true. - If AStatsEvent_write() is called, max size is set to ~4 KB. And if the current payload exceeds this limit, set overflow bit to true. - Fix error mask checking in stats_event_test. - Set ERROR_NO_ATOM_ID when atom id is missing. - Make sure tests don't hit ERROR_TOO_MANY_FIELDS when testing buffer overflow. - Rename event->size to event->numBytesWritten Fixes: 158214941 Test: libstatssocket_test Change-Id: Ia26aeb775f7e4f2ffe87707bab6d0119e21da10e
2020-06-01Merge "Retry pullfinish with empty payload if call fails" into rvc-devTej Singh
2020-05-30Merge "Libstatspull: decrease default pull timeout to 2s" into rvc-devHoward Ro
2020-05-29Libstatspull: decrease default pull timeout to 2sTej Singh
Decrease the default pull timeout to 2 seconds. Test: atest LibStatsPullTests Test: atest libstatspull_test Bug: 154056912 Change-Id: I8f7660de64e8c74a8c7ce7d252369c0456895e3b
2020-05-29Retry pullfinish with empty payload if call failsTej Singh
If the first call for pullFinished fails, it is likely because the transaction is too large. Currently, if this happens statsd will just sleep until the timeout. With this change, the client will retry calling pullFinish if the first attempt fails, but with an empty payload (and with success = false) to cause the puller to fail fast, and so statsd does not wait for the timeout. Test: atest LibStatsPullTests Bug: 157768117 Change-Id: I3af991fae47bb7c09bf8a6fc83f28556b836c6e4
2020-05-27Merge "Add test config to libstatspull_test and libstatssocket_test" into ↵Chen Zhu
rvc-dev
2020-05-21Add test config to libstatspull_test and libstatssocket_testChen Zhu
and apply mainline module test controller to it so that the tests will only be run when statsd apex is found on device. Bug: 154845935 Test: m mts && mts-tradefed run mts-statsd Change-Id: I8939e68b4d4c3772e248c1960b74c0f1bd6a21a6
2020-05-19Remove statsd enable check when loggingHoward Ro
statsd should now be enabled on all devices and this check is unnnecessarily adding a check for each time there's a call into the socket, which is inefficient. Bug: 157082130 Test: make, statsd_test Change-Id: I0bb0ae0c93516c3a02cb971742c3eba602668a09
2020-05-07Use proper platform version checks (libstats)Ruchir Rastogi
Test: bit libstatspush_compat_test Bug: 146019024 Change-Id: If99a7067944ddfbe30bb0ddfe586a337a94d4c07
2020-05-02stats: Set min_sdk_versionJooyung Han
Modules contributing mainline modules (APK/APEX) should set min_sdk_version as well as apex_available. For now setting min_sdk_version doesn't change build outputs. But build-time checks will be added soon. Bug: 152655956 Test: m Merged-In: Icd184c6fe06a688bd79ef6514bb49dffb706a9a1 Change-Id: Icd184c6fe06a688bd79ef6514bb49dffb706a9a1 (cherry picked from commit cc3588afcb4e9fa2104a62da47c4c023828c8bcd)
2020-04-29Merge "Add test for AStatsSocket_close()" into rvc-devJeffrey Huang
2020-04-28Add test for AStatsSocket_close()Jeffrey Huang
Bug: 154871176 Test: atest libstatssocket_test Change-Id: If8aa26a9a9a75382b6f8779c23974a7008bd387a
2020-04-24Add require root to libstats testsJeffrey Huang
root is required for coverage tests Bug: 154652564 Test: m -j Change-Id: I3325565818a275a069aed35a34bf3a58ee4b5bfc
2020-04-23Merge "Tag libstatspull and libstatssocket tests as MTS" into rvc-devJeffrey Huang
2020-04-22Tag libstatspull and libstatssocket tests as MTSJeffrey Huang
create both 32 and 64 bit variants fixes libstatssocket_test for 32 bit devices Bug: 154652564 Test: make mts, adb push, adb shell all 4 tests Change-Id: Ia6b51686c06e786b38cb3713315977533f1bb819
2020-04-20Set apex_available propertyJiyong Park
The marked library(ies) were available to the APEXes via the hand-written whitelist in build/soong/apex/apex.go. Trying to remove the whitelist by adding apex_available property to the Android.bp of the libraries. Exempt-From-Owner-Approval: cherry-pick from AOSP Bug: 150999716 Test: m Merged-In: I8fd2a3c9b69454c6018c72f5198898bc90dc4d0d (cherry picked from commit 937b4bf173caa185ff437ca2c7b4030b5c8aa056) Change-Id: I8fd2a3c9b69454c6018c72f5198898bc90dc4d0d
2020-04-06Link libc++ staticallyTej Singh
Test: bit statsd_test:* Test: bit libstatssocket_test:* Test: bit libstatspull_test:* Bug: 153349659 Change-Id: Ief3d0e062ed3e5cabf5b8b6198510caf3f64eefd
2020-03-30libstatspull documentation for puller guardrailsTej Singh
Test: atest LibStatsPullTests Bug: 152543610 Change-Id: Ia5caad7c9307c02fef7d3dfe70998601e7ffeb55
2020-03-24Merge "Support ERROR_ATOM_ID_INVALID_POSITION" into rvc-devRuchir Rastogi
2020-03-24Support ERROR_ATOM_ID_INVALID_POSITIONRuchir Rastogi
Originally, the native implementation would discard everything clients wrote to the buffer before the setAtomId call. Thus, the atom id was always placed in the "correct position." However, for consistency with the Java implementation, we now allow write calls before setAtomId to occur and log an error in that case. Test: bit libstatssocket_test:* Bug: 152119205 Change-Id: Ib109c7a939a5ae92c1d5fc70aa647ac7390fadad
2020-03-23Disable ABI check for libstatspullHsin-Yi Chen
The ABI dump for libstatspull can't be built due to the link error. Test: development/vndk/tools/header-checker/utils/create_reference_dumps.py Bug: 151102177 Bug: 151694054 Change-Id: Id324890235679b9593995b6e12a60ef055b4c825
2020-03-20Minor followups from api feedbackTej Singh
Bug: 150788562 Test: m Change-Id: I3473e49bc3f3682300b036ddeb032c3776d8d830
2020-03-20Native API feedback for puller APITej Singh
1. Rename registerPullAtomCallback to setPullAtomCallback 2. Rename unregisterPullAtomCallback to clearPullAtomCallback 3. Change Ns to Millis for consistency with java 4. Swap metadata and callback params in setPullAtomCallback to match java 5. Added getters for PullAtomMetadata 6. Added libstatspull_test to test PullAtomMetadata 7. Changed the types on setAdditiveFields from int to int32_t Test: make Test: atest LibStatsPullTests Test: bit libstatspull_test:* Bug: 1507885621 Bug: 151875223 Change-Id: I5cb07bfe71b1002180403828d5e8e6a5b88ce6fe
2020-03-19Merge "Enforce permission in native puller API." into rvc-devTreeHugger Robot
2020-03-17Enforce permission in native puller API.Tej Singh
Test: m Test: No security exceptions on boot Bug: 148955001 Change-Id: If196a82bf5a54ee15557825e16f70b5f64f45412
2020-03-12Support atom-level annotations within AStatsEventRuchir Rastogi
Refactors implementation details to allow for atom-level annotations. This CL does not change the API surface. addBoolAnnotation and addInt32Annotation work for both atom-level and proto field annotations. Test: bit libstatssocket_test:* Bug: 151158794 Change-Id: I2c340b201aeb3bcddd5cfde171b7c4df1d8d69a4
2020-03-12Merge "don't include liblog to APEXes" into rvc-devJiyong Park
2020-03-11don't include liblog to APEXesJiyong Park
liblog is a platform library that provides stable C API. There is no need to include the library, especialy by statically linking to it, in any APEX. It not only wastes the storage/ram, but also is incorrect because the socket interface to logd which is implemented in liblog is not guaranteed to be stable. Fixing this issue by converting static_libs: ["liblog"] into shared_libs: ["liblog"], in which case the dependency to the library is satisfied via the stub variant of the library. As a result, we could restrict the availablity of the library to the platform and the runtime APEX. Exempt-From-Owner-Approval: already approved when this was in internal master (ag/10572699) Bug: http://b/151051671 Bug: http://b/150827719 Test: m Merged-In: I5aab863cb12b8767b6979255c247000a59355b0e (cherry picked from commit 95b6f45b0e09b45daf6a7999cef039fabf587327) Change-Id: I5aab863cb12b8767b6979255c247000a59355b0e
2020-03-09Use dlsym to load libstatssocket APIRuchir Rastogi
Also fixes a bug in the tests where the platform version was being checked by querying version.release instead of version.codename (currently, version.release == 10, while version.codename == R). Test: bit libstatspush_compat_test:* (on Q and R) Test: libsstatssocket.so is not placed in resolv apex (on R) 1|bonito:/ $ ls apex/com.android.resolv/lib64 libclang_rt.ubsan_standalone-aarch64-android.so libcrypto.so libnetd_resolv.so libssl.so Test: NETWORK_DNS_EVENT_REPORTED atom is logged to statsd (on R) - adb shell cmd stats print-stats (atom 116 count > 0) Bug: 148743333 Change-Id: Ib3eaa32835905bcf6e3b003054bf0f3c4e7ec0a4 Merged-In: Ib3eaa32835905bcf6e3b003054bf0f3c4e7ec0a4 (cherry picked from commit 9848eb4f1c6780c0cfb253417d7542663421fb7e)
2020-03-06Use libbase to get the elapsed time instead of libutilsLuke Huang
To minimize the external library dependencies Bug: 149721367 Test: atest Change-Id: I7b79223ad58c2af94d01a35ad39be6cdd1de7f47 Merged-In: I7b79223ad58c2af94d01a35ad39be6cdd1de7f47 (cherry picked from commit cab9854fa91b4721eef4d4a549f702f73b7edd8a)
2020-02-27Make libstatssocket a shared_libTej Singh
Make libstatssocket unable to be linked as a static lib on the platform. Test: bit libstatssocket_test:* Test: bit statsd_test:* Test: atest LibStatsPullTests Bug: 149340100 Change-Id: I5889dd718536f5f2c693b4c2e7331c9cc2eb2ac9
2020-02-18//apex_available:platform should be first in listMuhammad Qureshi
Test: m Change-Id: I6ede6f008bc149f587ae2fc024d5869463b2c64d
2020-02-15Merge "Delete stats_event_list from libstatssocket"Ruchir Rastogi
2020-02-14Merge "AStatsEvent_overwriteTimestamp"TreeHugger Robot