diff options
author | Carlos Galo <carlosgalo@google.com> | 2023-09-20 20:12:54 +0000 |
---|---|---|
committer | Carlos Galo <carlosgalo@google.com> | 2024-03-05 16:20:56 -0800 |
commit | 2f2b36091603fe7e822cf64dc8f619480a9f9c02 (patch) | |
tree | 89690cc970f6d6eb0b48af941598e378d039168f | |
parent | ba7e112894767567e99e444a7b10c3d5d17ccb80 (diff) | |
download | proto_logging-2f2b36091603fe7e822cf64dc8f619480a9f9c02.tar.gz |
oom: report out-of-memory kills to statsd
Test: statsd_testdrive 754
Bug: 301548034
Bug: 244232958
Change-Id: I9e39024815bf467ea98f8c304dadf9af39211dcf
Signed-off-by: Carlos Galo <carlosgalo@google.com>
Merged-In: I9e39024815bf467ea98f8c304dadf9af39211dcf
-rw-r--r-- | stats/atoms.proto | 1 | ||||
-rw-r--r-- | stats/atoms/kernel/kernel_extension_atoms.proto | 52 |
2 files changed, 53 insertions, 0 deletions
diff --git a/stats/atoms.proto b/stats/atoms.proto index ba303bd4..3e15acb6 100644 --- a/stats/atoms.proto +++ b/stats/atoms.proto @@ -1061,6 +1061,7 @@ message Atom { extensions 739; // ThreadnetworkTopoEntryRepeated threadnetwork_topo_entry_repeated extensions 740; // ThreadnetworkDeviceInfoReported threadnetwork_device_info_reported extensions 752; // StatsSocketLossReported stats_socket_loss_reported + extensions 754; // KernelOomKillOccurred kernel_oom_kill_occurred extensions 760; // IkeLivenessCheckSessionValidated ike_liveness_check_session_validated extensions 762; // CronetEngineBuilderInitialized cronet_engine_builder_initialized extensions 763; // CronetHttpFlagsInitialized cronet_http_flags_initialized diff --git a/stats/atoms/kernel/kernel_extension_atoms.proto b/stats/atoms/kernel/kernel_extension_atoms.proto new file mode 100644 index 00000000..6383df02 --- /dev/null +++ b/stats/atoms/kernel/kernel_extension_atoms.proto @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +syntax = "proto2"; + +package android.os.statsd.kernel; + +import "frameworks/proto_logging/stats/atoms.proto"; +import "frameworks/proto_logging/stats/atom_field_options.proto"; + +option java_package = "com.android.os.kernel"; +option java_multiple_files = true; + +extend Atom { + optional KernelOomKillOccurred kernel_oom_kill_occurred = 754 + [(module) = "frameworks"]; +} + +/** + * Logs each time the kernel's out-of-memory (OOM) killer claims a victim. + * Logged from: + * frameworks/base/services/core/java/com/android/server/am/OomStatsReporter.java + */ +message KernelOomKillOccurred { + // The uid if available. -1 means not available. + optional int32 uid = 1 [(is_uid) = true]; + + // The pid if available. -1 means not available. + optional int32 pid = 2; + + // Recorded oom score when getting killed. + optional int32 oom_score_adj = 3; + + // Millisecond timestamp of when the kill was detected by the memhealth driver. + optional int64 timestamp_millis = 4; + + // Name of the killed process. + optional string process_name = 5; +} |