# The entries in this file map a sparse set of log tag numbers to tag names.
# This is installed on the device, in /system/etc, and parsed by logcat.
#
# Tag numbers are decimal integers, from 0 to 2^31.  (Let's leave the
# negative values alone for now.)
#
# Tag names are one or more ASCII letters and numbers or underscores, i.e.
# "[A-Z][a-z][0-9]_".  Do not include spaces or punctuation (the former
# impacts log readability, the latter makes regex searches more annoying).
#
# Tag numbers and names are separated by whitespace.  Blank lines and lines
# starting with '#' are ignored.
#
# Optionally, after the tag names can be put a description for the value(s)
# of the tag. Description are in the format
#    (<name>|data type[|data unit])
# Multiple values are separated by commas.
#
# The data type is a number from the following values:
# 1: int
# 2: long
# 3: string
# 4: list
#
# The data unit is a number taken from the following list:
# 1: Number of objects
# 2: Number of bytes
# 3: Number of milliseconds
# 4: Number of allocations
# 5: Id
# 6: Percent
# Default value for data of type int/long is 2 (bytes).
#
# TODO: generate ".java" and ".h" files with integer constants from this file.

# These are used for testing, do not modify without updating
# tests/framework-tests/src/android/util/EventLogFunctionalTest.java.
42    answer (to life the universe etc|3)
314   pi
2718  e

# "account" is the java hash of the account name
2720 sync (id|3),(event|1|5),(source|1|5),(account|1|5)

# This event is logged when the location service uploads location data.
2740 location_controller
# This event is logged when someone is deciding to force a garbage collection
2741 force_gc (reason|3)
# This event is logged on each tickle
2742 tickle (authority|3)

# contacts aggregation: time and number of contacts.
# count is negative for query phase, positive for merge phase
2747 contacts_aggregation (aggregation time|2|3), (count|1|1)

# Device boot timings.  We include monotonic clock values because the
# intrinsic event log times are wall-clock.
#
# Runtime starts:
3000 boot_progress_start (time|2|3)
# ZygoteInit class preloading starts:
3020 boot_progress_preload_start (time|2|3)
# ZygoteInit class preloading ends:
3030 boot_progress_preload_end (time|2|3)

# dvm_gc_info: LIST (LONG, LONG, LONG)
#
# First LONG:
#
#    [63]    1
#    [62-24] ASCII process identifier
#    [23-12] GC time in ms
#    [11- 0] Bytes freed
#
# Second LONG (aggregated heap info):
#
#    [63-62] 10
#    [61-60] Reserved; must be zero
#    [59-48] Objects freed
#    [47-36] Actual size (current footprint)
#    [35-24] Allowed size (current hard max)
#    [23-12] Objects allocated
#    [11- 0] Bytes allocated
#
# Third LONG (zygote heap info):
#
#    [63-62] 11
#    [61-60] Reserved; must be zero
#    [59-48] Soft limit
#    [47-36] Actual size (current footprint)
#    [35-24] Allowed size (current hard max)
#    [23-12] Objects allocated
#    [11- 0] Bytes allocated
#
# Fourth LONG:
#
#    [63-48] Reserved; must be zero
#    [47-36] dlmallocFootprint
#    [35-24] mallinfo: total allocated space
#    [23-12] External byte limit
#    [11- 0] External bytes allocated
#
# See HeapDebug.c
#
20001 dvm_gc_info (custom|2),(custom|2),(custom|2),(custom|2)
20002 dvm_gc_madvise_info (total|1|2),(zygote|1|2)
20003 dvm_lock_sample (process|3),(main|1|5),(thread|3),(time|1|3),(file|3),(line|1|5),(sample_percent|1|6)

75000 sqlite_mem_alarm_current (current|1|2)
75001 sqlite_mem_alarm_max (max|1|2)
75002 sqlite_mem_alarm_alloc_attempt (attempts|1|4)
75003 sqlite_mem_released (Memory released|1|2)
75004 sqlite_db_corrupt (Database file corrupt|3)

50000 menu_item_selected (Menu type where 0 is options and 1 is context|1|5),(Menu item title|3)
50001 menu_opened (Menu type where 0 is options and 1 is context|1|5)

# Wi-Fi network state changed:
# [31- 6] Reserved for future use
# [ 5- 0] Detailed state ordinal (as defined by NetworkInfo.DetailedState)
50021 wifi_network_state_changed (network_state|1|5)

# Wi-Fi supplicant state changed:
# [31- 6] Reserved for future use
# [ 5- 0] Supplicant state ordinal (as defined by SupplicantState)
50022 wifi_supplicant_state_changed (supplicant_state|1|5)

# Wi-Fi driver state changed:
# [31- 1] Reserved for future use
# [ 0- 0] Driver start (1) or stopped (0)
50023 wifi_driver_state_changed (driver_state|1|5)

# Wi-Fi interface configuration state changed:
# [31- 1] Reserved for future use
# [ 0- 0] Interface configuration succeeded (1) or failed (0)
50024 wifi_interface_configuration_state_changed (IP_configuration|1|5)

# Wi-Fi supplicant connection state changed:
# [31- 2] Reserved for future use
# [ 1- 0] Connected to supplicant (1) or disconnected from supplicant (0),
#         or supplicant died (2)
50025 wifi_supplicant_connection_state_changed (connected|1|5)

# Do not change these names without updating tag in:
#//device/dalvik/libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.c
51000 socket_stats (send|1|2),(recv|1|2),(ip|1|5),(port|1|5),(close|1|5)

# Database operation samples.
# db: the filename of the database
# sql: the executed query (without query args)
# time: cpu time millis (not wall time), including lock acquisition
# blocking_package: if this is on a main thread, the package name, otherwise ""
# sample_percent: the percent likelihood this query was logged
52000 db_sample (db|3),(sql|3),(time|1|3),(blocking_package|3),(sample_percent|1|6)

# http request/response stats
52001 http_stats (useragent|3),(response|2|3),(processing|2|3),(tx|1|2),(rx|1|2)
60000 viewroot_draw (Draw time|1|3)
60001 viewroot_layout (Layout time|1|3)
60002 view_build_drawing_cache (View created drawing cache|1|5)
60003 view_use_drawing_cache (View drawn using bitmap cache|1|5)

# 0 for screen off, 1 for screen on, 2 for key-guard done
70000 screen_toggled (screen_state|1|5)

# aggregation service
70200 aggregation (aggregation time|2|3)
70201 aggregation_test (field1|1|2),(field2|1|2),(field3|1|2),(field4|1|2),(field5|1|2)

# NOTE - the range 1000000-2000000 is reserved for partners and others who
# want to define their own log tags without conflicting with the core platform.
