Involves pushing most of the logic down out of StatsPullAtomService
and into KernelAllocationStats.cpp, as well as changing some method
signatures along the way.
At the end of this work, two new fields in atoms.proto will be
populated; these will allow us to tell how much of SurfaceFlinger's
dmabuf memory usage is due to buffers shared with other processes
and how much is due to private internal buffers.
Test: statsd_testdrive 10105
Test: adb shell dmabuf_dump
Bug: 220084049
Change-Id: Ia41cfd693d3db2bd06083801075cae290f67221f
For convenience, builds against musl libc currently use the
linux_glibc properties because they are almost always linux-specific
and not glibc-specific. In preparation for removing this hack,
tweak the linux_glibc properties by either moving them to host_linux,
which will apply to linux_glibc, linux_musl and linux_bionic, or
by setting appropriate musl or linux_musl properties. Properties
that must not be repeated while musl uses linux_musl and also still
uses the linux_glibc properties are moved to glibc properties, which
don't apply to musl. Whether these stay as glibc properties or get
moved back to linux_glibc later once the musl hack is removed is TBD.
Bug: 223257095
Test: m checkbuild
Test: m USE_HOST_MUSL=true host-native
Change-Id: I7058c8f1dadd7bbfd7e169bdf0a0441eb6d10ec5
This CL builds NetworkStats related code with the
connectivity module instead of platform.
This includes:
1. Add netstats.proto to the module.
2. Add lib dependencies for all callers.
3. Include several source files in platform and add jarjar rule
to it. Modify callers accordingly.
Test: TH
Bug: 197717846
Change-Id: I244693aebe1782d9e67502638ff8145c51462e1e
Merged-In: I244693aebe1782d9e67502638ff8145c51462e1e
since it's not actually ever used at runtime,
it's only meant to be part of the bpfloader boot time one shot binary.
(all non-bpfloader bpf implementation is in .h files only)
Test: TreeHugger, m libandroid_runtime
Bug: 218882781
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I8d3b8ac80ffdbe293221150f7272f7def80fc1c4
Merged-In: I8d3b8ac80ffdbe293221150f7272f7def80fc1c4
since it's not actually ever used at runtime,
it's only meant to be part of the bpfloader boot time one shot binary.
(all non-bpfloader bpf implementation is in .h files only)
Test: TreeHugger, m libandroid_runtime
Bug: 218882781
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I8d3b8ac80ffdbe293221150f7272f7def80fc1c4
This will allow layoutlib to correctly link and run native code from
libandroid_runtime.
Bug: 208827022
Test: N/A
Change-Id: I372d157042ba2e7a491b82b0fa520937ff0c8e74
This CL builds NetworkStats related code with the
connectivity module instead of platform.
This includes:
1. Add netstats.proto to the module.
2. Add lib dependencies for all callers.
3. Include several source files in platform and add jarjar rule
to it. Modify callers accordingly.
Test: TH
Bug: 197717846
Change-Id: I244693aebe1782d9e67502638ff8145c51462e1e
Currently, socket tagging is implemented in the framework. The
Java code is in NetworkManagmentSocketTagger.java and the JNI is
in libandroid and loaded by the general framework JNI loader.
- Move the Java implementation to TrafficStats, which is the only
caller of NetworkManagmentSocketTagger. This simplifies the
code a bit because a number of methods can be deleted.
- Move the JNI code to a new JNI library in the APEX. The library
depends only on the NDK and statically links the NDK-only
version of libnativehelper. Its size is only 5k on ARM and 10k
on ARM64.
- Temporarily make the framework depend on this library until the
rest of the T connectivity code moves to the APEX.
Test: atest NetworkUsageStatsTest CtsNetTestCases:TrafficStatsTest
Change-Id: I050c7c515237f68b78d08987bc443f50a7949c06
Previously the SurfaceControlFpsListener is a hidden API which only
allows platform code access. This patch renames it to follow the
callback convention and raises it to be a system API in order to allow
system applications to access the FPS count of a task and its children.
The FPS count access is guarded by a permission ACCESS_FPS_COUNTER.
To follow the API convention and properly check the permission, the
register/unregister callback APIs are moved to WindowManager and
permission check is done in the System Server.
Minor: Rename to SurfaceControlFpsCallback to TaskFpsCallback in order
to follow the API naming convention.
Bug: b/199920468
CTS-Coverage-Bug: b/199920468
Test: atest TaskFpsCallbackTest
Change-Id: I6b0a0ad6500278b3da09059e9c2ede28d9a743aa
Calling NDK version of tagSocket/untagSocket from
android_server_NetworkManagementSocketTagger.cpp. This is required since
the file is going to be mainlined. The platform functions it calls must
be stable APIs.
Bug: 29761778
Bug: 202086915
Test: atest TrafficStatsTest NetworkUsageStatsTest
Change-Id: Ic6554d9b98cef9b41b7eae06315d284c574c0a45
This is an eBPF usermap read via libmeminfo. System server
already has permissions to do so (as it already does so for the
total GPU mem stats).
Change-Id: I9e3c4dc9144708c630215e309b7ff394abbdcd76
Test: manual, statsd_testdrive 10064
Bug: 208440056
This reverts commit 08e2895ade6af39aa5b9feb72698ee233e7efcb6.
Reason for revert: shouldn't be used in recovery
Change-Id: I2ac8918800b577fc37c1e0ea459ffc872847f60f
* changes:
Move common audio AIDL types to audio.media.audio.common
MediaFormat: Add more audio MIME types
Add android.media.audio.common.AidlConversion class
Add support for the following APIs in AudioSystem JNI:
- getSpatializer
- canBeSpatialized
Bug: 188502620
Test: make
Change-Id: I1942edc6c9fec3babfe870586f7a014d55b1ce70
Dependency of media APEXes on libbinder has been
cleaned up. Hence, there's no need to make
libandroid_runtime_vm_headers apex_available to
these APEXes.
Fixes: 193742372
Test: TH
Change-Id: Ide613376b94e1680ab7e26ef5cb975a80c44fb01