diff --git a/docs/api/sdk/README.md b/docs/api/sdk/README.md index 7f39bf24d..aa63eff0f 100644 --- a/docs/api/sdk/README.md +++ b/docs/api/sdk/README.md @@ -146,7 +146,7 @@ Content-Disposition: form-data; name="event" --PieBoundary123456789012345678901234567 Content-Disposition: form-data; name="event" -{"type":"gesture_scroll","id":"9873a2fb-a0d1-4912-a92f-9e43e72afbc6","timestamp":"2023-08-24T14:51:41.000000534Z","session_id":"633a2fbc-a0d1-4912-a92f-9e43e72afbc6","gesture_scroll":{"target":"some-scroll-target","target_id":"scroll-target-id","touch_down_time":3394122,"touch_up_time":3395418,"x":1234,"y":340,"end_x":1330,"end_y":370,"velocity_px":123,"direction":"up"},"attributes":{"user_id":null,"installation_id":"322a2fbc-a0d1-1212-a92f-9e43e72afbc7","device_name":"sunfish","device_model":"SM-G950F","device_manufacturer":"samsung","device_type":"phone","device_is_foldable":true,"device_is_physical":false,"device_density_dpi":100,"device_width_px":480,"device_height_px":800,"device_density":2,"os_name":"android","os_version":"31","platform":"android","app_version":"1.0.1","app_build":"576358","app_unique_id":"com.example.app","network_type":"cellular","network_provider":"airtel","network_generation":"4g","measure_sdk_version":"0.0.1","thread_name":"main"},"attachments":[]} +{"type":"gesture_scroll","id":"9873a2fb-a0d1-4912-a92f-9e43e72afbc6","timestamp":"2023-08-24T14:51:41.000000534Z","session_id":"633a2fbc-a0d1-4912-a92f-9e43e72afbc6","gesture_scroll":{"target":"some-scroll-target","target_id":"scroll-target-id","touch_down_time":3394122,"touch_up_time":3395418,"x":1234,"y":340,"end_x":1330,"end_y":370,"direction":"up"},"attributes":{"user_id":null,"installation_id":"322a2fbc-a0d1-1212-a92f-9e43e72afbc7","device_name":"sunfish","device_model":"SM-G950F","device_manufacturer":"samsung","device_type":"phone","device_is_foldable":true,"device_is_physical":false,"device_density_dpi":100,"device_width_px":480,"device_height_px":800,"device_density":2,"os_name":"android","os_version":"31","platform":"android","app_version":"1.0.1","app_build":"576358","app_unique_id":"com.example.app","network_type":"cellular","network_provider":"airtel","network_generation":"4g","measure_sdk_version":"0.0.1","thread_name":"main"},"attachments":[]} --PieBoundary123456789012345678901234567 Content-Disposition: form-data; name="blob-9e45a0bc-9277-468c-92f6-5eba2afc26e8" @@ -270,7 +270,7 @@ Exhaustive list of all JSON fields. Events can contain the following attributes, some of which are mandatory. | Field | Type | Optional | Comment | -| --------------------- | ------- | -------- | --------------------------------------------------------------------------- | +|-----------------------|---------|----------|-----------------------------------------------------------------------------| | `installation_id` | string | No | A unique identifier for an installation of an app, generated by the client. | | `app_version` | string | No | App version identifier | | `app_build` | string | No | App build identifier | @@ -285,10 +285,10 @@ Events can contain the following attributes, some of which are mandatory. | `device_type` | string | Yes | `phone` or `tablet` | | `device_is_foldable` | boolean | Yes | `true` for foldable devices | | `device_is_physical` | boolean | Yes | `true` for physical devices | -| `device_density_dpi` | number | Yes | DPI density | -| `device_width_px` | number | Yes | Screen width | -| `device_height_px` | number | Yes | Screen height | -| `device_density` | number | Yes | Device density | +| `device_density_dpi` | uint16 | Yes | DPI density | +| `device_width_px` | uint16 | Yes | Screen width | +| `device_height_px` | uint16 | Yes | Screen height | +| `device_density` | float32 | Yes | Device density | | `device_locale` | string | Yes | Locale based on RFC 5646, eg. en-US | | `os_name` | string | Yes | Operating system name | | `os_version` | string | Yes | Operating system version | @@ -379,9 +379,9 @@ Each thread object contains further fields. Each frame object contains further fields. | Field | Type | Optional | Comment | -| ------------- | ------ | -------- | ------------------------------ | -| `line_num` | number | Yes | Line number of the method | -| `col_num` | number | Yes | Column number of the method | +| ------------- |--------| -------- | ------------------------------ | +| `line_num` | int | Yes | Line number of the method | +| `col_num` | int | Yes | Column number of the method | | `module_name` | string | Yes | Name of the originating module | | `file_name` | string | Yes | Name of the originating file | | `class_name` | string | Yes | Name of the originating class | @@ -422,9 +422,9 @@ Each thread object contains further fields. Each frame object contains further fields. | Field | Type | Optional | Comment | -| ------------- | ------ | -------- | ------------------------------ | -| `line_num` | number | Yes | Line number of the method | -| `col_num` | number | Yes | Column number of the method | +| ------------- |--------| -------- | ------------------------------ | +| `line_num` | int | Yes | Line number of the method | +| `col_num` | int | Yes | Column number of the method | | `module_name` | string | Yes | Name of the originating module | | `file_name` | string | Yes | Name of the originating file | | `class_name` | string | Yes | Name of the originating class | @@ -443,60 +443,59 @@ Use the `string` type when sending unstructured or structured logs. Make sure st Use the `gesture_long_click` body type for longer press and hold gestures. -| Field | Type | Optional | Comment | -| ----------------- | ------ | -------- | ------------------------------------------- | -| `target` | string | Yes | Class/Instance name of the originating view | -| `target_id` | string | Yes | Unique identifier for the target | -| `touch_down_time` | string | Yes | System uptime when target was pressed | -| `touch_up_time` | string | Yes | System uptime when target was released | -| `width` | number | Yes | Width of the target view in pixels | -| `height` | number | Yes | Height of the target view in pixels | -| `x` | number | No | X coordinate of the target view | -| `y` | number | No | Y coordinate of the target view | +| Field | Type | Optional | Comment | +|-------------------|---------|----------|---------------------------------------------| +| `target` | string | Yes | Class/Instance name of the originating view | +| `target_id` | string | Yes | Unique identifier for the target | +| `touch_down_time` | string | Yes | System uptime when target was pressed | +| `touch_up_time` | string | Yes | System uptime when target was released | +| `width` | uint16 | Yes | Width of the target view in pixels | +| `height` | uint16 | Yes | Height of the target view in pixels | +| `x` | float32 | No | X coordinate of the target view | +| `y` | float32 | No | Y coordinate of the target view | #### **`gesture_scroll`** Use the `gesture_scroll` body type for scroll events. -| Field | Type | Optional | Comment | -| ----------------- | ------ | -------- | ----------------------------------------------- | -| `target` | string | Yes | Class/Instance name of the originating view | -| `target_id` | string | Yes | Unique identifier for the target | -| `touch_down_time` | string | Yes | System uptime when target scroll started | -| `touch_up_time` | string | Yes | System uptime when target scroll ended | -| `x` | number | No | X coordinate of the target where scroll started | -| `y` | number | No | Y coordinate of the target where scroll started | -| `end_x` | number | No | X coordinate of the target where scroll ended | -| `end_y` | number | No | Y coordinate of the target where scroll ended | -| `velocity_px` | number | Yes | Velocity at the time of scroll release | -| `direction` | number | Yes | Angle at which the scroll took place | +| Field | Type | Optional | Comment | +|-------------------|---------|----------|-----------------------------------------------------| +| `target` | string | Yes | Class/Instance name of the originating view | +| `target_id` | string | Yes | Unique identifier for the target | +| `touch_down_time` | uint32 | Yes | System uptime when target scroll started | +| `touch_up_time` | uint32 | Yes | System uptime when target scroll ended | +| `x` | float32 | No | X coordinate of the target where scroll started | +| `y` | float32 | No | Y coordinate of the target where scroll started | +| `end_x` | float32 | No | X coordinate of the target where scroll ended | +| `end_y` | float32 | No | Y coordinate of the target where scroll ended | +| `direction` | string | Yes | The direction of the scroll - left, right, up, down | #### **`gesture_click`** Use the `gesture_click` body type for taps or clicks. -| Field | Type | Optional | Comment | -| ----------------- | ------ | -------- | ----------------------------------------------- | -| `target` | string | Yes | Class/Instance name of the originating view | -| `target_id` | string | Yes | Unique identifier for the target | -| `touch_down_time` | string | Yes | System uptime when target was pressed | -| `touch_up_time` | string | Yes | System uptime when target was released | -| `width` | number | Yes | Width of the target view in pixels | -| `height` | number | Yes | Height of the target view in pixels | -| `x` | number | No | X coordinate of the target where click happened | -| `y` | number | No | Y coordinate of the target where click happened | +| Field | Type | Optional | Comment | +|-------------------|---------|----------|-------------------------------------------------| +| `target` | string | Yes | Class/Instance name of the originating view | +| `target_id` | string | Yes | Unique identifier for the target | +| `touch_down_time` | string | Yes | System uptime when target was pressed | +| `touch_up_time` | string | Yes | System uptime when target was released | +| `width` | uint16 | Yes | Width of the target view in pixels | +| `height` | uint16 | Yes | Height of the target view in pixels | +| `x` | float32 | No | X coordinate of the target where click happened | +| `y` | float32 | No | Y coordinate of the target where click happened | #### **`http`** Use the `http` body type for tracking a single HTTP network. | Field | Type | Optional | Comment | -| --------------------- | ------ | -------- | ------------------------------------------------------------------------------- | +|-----------------------|--------|----------|---------------------------------------------------------------------------------| | `url` | string | No | Complete URL of the HTTP request | | `method` | string | No | Any of the common HTTP method like, `GET` or `POST` | | `status_code` | int | Yes | Any of the common HTTP response codes. | -| `start_time` | number | Yes | The uptime at which the http call started, in ms. | -| `end_time` | number | Yes | The uptime at which the http call ended, in ms. | +| `start_time` | uint32 | Yes | The uptime at which the http call started, in ms. | +| `end_time` | uint32 | Yes | The uptime at which the http call ended, in ms. | | `failure_reason` | string | Yes | The reason for failure. For Android, typically the IOException class name. | | `failure_description` | string | Yes | The description of the failure. For Android, Typically the IOException message. | | `request_headers` | map | Yes | The request headers. | @@ -524,12 +523,12 @@ Use the `network_change` type for tracking changes to the network state of the d Use the `app_exit` type for Application Exit events. | Field | Type | Optional | Comment | -| -------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| -------------- |--------| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `reason` | string | No | One of the following:
- `REASON_ANR`
- `REASON_CRASH`
- `REASON_CRASH_NATIVE`
- `REASON_DEPENDENCY_DIED`
- `REASON_EXCESSIVE_RESOURCE_USAGE`
- `REASON_EXIT_SELF`
- `REASON_FREEZER`
- `REASON_INITIALIZATION_FAILURE`
- `REASON_LOW_MEMORY`
- `REASON_OTHER`
- `REASON_PACKAGE_STATE_CHANGE`
- `REASON_PACKAGE_UPDATED`
- `REASON_PERMISSION_CHANGE`
- `REASON_SIGNALED`
- `REASON_UNKNOWN`
- `REASON_USER_REQUESTED`
- `REASON_USER_STOPPED` | | `importance` | string | No | Importance of the process that it used to have before death
- `IMPORTANCE_FOREGROUND`
- `IMPORTANCE_FOREGROUND_SERVICE`
- `IMPORTANCE_TOP_SLEEPING`
- `IMPORTANCE_VISIBLE`
- `IMPORTANCE_PERCEPTIBLE`
- `IMPORTANCE_CANT_SAVE_STATE`
- `IMPORTANCE_SERVICE`
- `IMPORTANCE_CACHED`
- `IMPORTANCE_GONE` | | `trace` | string | Yes | Modified trace given by ApplicationExitInfo to help debug ANRs. Must be only set for session that had an ANR. | -| `process_name` | number | No | Name of the process | -| `pid` | number | Yes | ID of the process that died | +| `process_name` | string | No | Name of the process | +| `pid` | string | Yes | ID of the process that died | | `timestamp` | string | Yes | Unix epoch timestamp of the process's death, in milliseconds. | #### **`lifecycle_activity`** @@ -568,10 +567,10 @@ Use the `cold_launch` type for Android cold app launch time. | Field | Type | Optional | Comment | | -------------------------------- | ------- | -------- | ---------------------------------------------------------------------- | -| `process_start_uptime` | number | Yes | The start uptime, measure in ms. | -| `process_start_requested_uptime` | number | Yes | The start uptime, measure in ms. | -| `content_provider_attach_uptime` | number | Yes | The start uptime, measure in ms. | -| `on_next_draw_uptime` | number | No | The time at which the app became visible to the user. | +| `process_start_uptime` | uint32 | Yes | The start uptime, measure in ms. | +| `process_start_requested_uptime` | uint32 | Yes | The start uptime, measure in ms. | +| `content_provider_attach_uptime` | uint32 | Yes | The start uptime, measure in ms. | +| `on_next_draw_uptime` | uint32 | No | The time at which the app became visible to the user. | | `launched_activity` | string | No | The activity which drew the first frame during cold launch. | | `has_saved_state` | boolean | No | Whether the _launched_activity_ was created with a saved state bundle. | | `intent_data` | string | Yes | The Intent data used to launch the _launched_activity_. | @@ -582,8 +581,8 @@ Use the `warm_launch` type for Android warm app launch time. | Field | Type | Optional | Comment | | ------------------- | ------- | -------- | ---------------------------------------------------------------------- | -| app_visible_uptime | number | Yes | The time since the app became visible to the user, in ms. | -| on_next_draw_uptime | number | No | The time at which the app became visible to the user, in ms. | +| app_visible_uptime | uint32 | Yes | The time since the app became visible to the user, in ms. | +| on_next_draw_uptime | uint32 | No | The time at which the app became visible to the user, in ms. | | launched_activity | string | No | The activity which drew the first frame during launch | | has_saved_state | boolean | No | Whether the _launched_activity_ was created with a saved state bundle. | | intent_data | string | Yes | The Intent data used to launch the _launched_activity_. | @@ -594,8 +593,8 @@ Use the `hot_launch` type for Android hot app launch time. | Field | Type | Optional | Comment | | ------------------- | ------- | -------- | ----------------------------------------------------------------- | -| app_visible_uptime | number | Yes | The time elapsed since the app became visible to the user, in ms. | -| on_next_draw_uptime | number | No | The time at which the app became visible to the user, in ms. | +| app_visible_uptime | uint32 | Yes | The time elapsed since the app became visible to the user, in ms. | +| on_next_draw_uptime | uint32 | No | The time at which the app became visible to the user, in ms. | | launched_activity | string | No | The activity which drew the first frame during launch | | has_saved_state | boolean | No | Whether the _launched_activity_ was created with a saved state. | | intent_data | string | Yes | The Intent data used to launch the _launched_activity_. | @@ -604,47 +603,47 @@ Use the `hot_launch` type for Android hot app launch time. Use the `cpu_usage` type for CPU usage of a Linux based OS. -| Field | Type | Optional | Description | -| ----------------- | :----- | :------- | ------------------------------------------------------------------- | -| `num_cores` | number | No | Number of cores in the device. | -| `clock_speed` | number | No | Clock speed of the device, in Hz. | -| `uptime` | number | No | Time since the device booted, in ms. | -| `utime` | number | No | Time spent executing code in user mode, in Jiffies. | -| `stime` | number | No | Time spent executing code in kernel mode, in Jiffies. | -| `cutime` | number | No | Time spent executing code in user mode with children, in Jiffies. | -| `cstime` | number | No | Time spent executing code in kernel mode with children, in Jiffies. | -| `interval` | number | No | The interval between two collections, in ms. | -| `percentage_usage`| number | No | The percentage CPU usage in the interval. | -| `start_time` | number | No | The process start time, in Jiffies. | +| Field | Type | Optional | Description | +|--------------------|:--------|:---------|---------------------------------------------------------------------| +| `num_cores` | uint8 | No | Number of cores in the device. | +| `clock_speed` | uint32 | No | Clock speed of the device, in Hz. | +| `uptime` | uint64 | No | Time since the device booted, in ms. | +| `utime` | uint64 | No | Time spent executing code in user mode, in Jiffies. | +| `stime` | uint64 | No | Time spent executing code in kernel mode, in Jiffies. | +| `cutime` | uint64 | No | Time spent executing code in user mode with children, in Jiffies. | +| `cstime` | uint64 | No | Time spent executing code in kernel mode with children, in Jiffies. | +| `interval` | uint32 | No | The interval between two collections, in ms. | +| `percentage_usage` | float64 | No | The percentage CPU usage in the interval. | +| `start_time` | uint64 | No | The process start time, in Jiffies. | #### **`memory_usage`** Use the `memory_usage` type for memory usage of JVM applications. | Field | Type | Optional | Description | -| ----------------- | :----- | :------- | ----------------------------------------------------------------------------------------------------------------------------- | -| java_max_heap | number | No | Maximum size of the Java heap allocated to the application. Measured in kB. | -| java_total_heap | number | No | Total size of the Java heap available for memory allocation. Measured in kB. | -| java_free_heap | number | No | Amount of free memory available in the Java heap. Measured in kB. | -| total_pss | number | No | Total proportional set size - the amount of memory used by the process, including shared memory and code. Measured in kB. | -| rss | number | Yes | Resident set size of the Java process - the amount of physical memory currently used by the Java application. Measured in kB. | -| native_total_heap | number | No | Total size of the native heap (memory outside of Java's control) available for memory allocation. Measured in kB. | -| native_free_heap | number | No | Amount of free memory available in the native heap. Measured in kB. | -| interval | number | No | The interval between two consecutive readings. Measured in ms. | +|-------------------|:-------|:---------|-------------------------------------------------------------------------------------------------------------------------------| +| java_max_heap | uint64 | No | Maximum size of the Java heap allocated to the application. Measured in kB. | +| java_total_heap | uint64 | No | Total size of the Java heap available for memory allocation. Measured in kB. | +| java_free_heap | uint64 | No | Amount of free memory available in the Java heap. Measured in kB. | +| total_pss | uint64 | No | Total proportional set size - the amount of memory used by the process, including shared memory and code. Measured in kB. | +| rss | uint64 | Yes | Resident set size of the Java process - the amount of physical memory currently used by the Java application. Measured in kB. | +| native_total_heap | uint64 | No | Total size of the native heap (memory outside of Java's control) available for memory allocation. Measured in kB. | +| native_free_heap | uint64 | No | Amount of free memory available in the native heap. Measured in kB. | +| interval | uint64 | No | The interval between two consecutive readings. Measured in ms. | #### **`low_memory`** Use the `low_memory` type for a low memory event from the system. | Field | Type | Optional | Description | -| ----------------- | :----- | :------- | ----------------------------------------------------------------------------------------------------------------------------- | -| java_max_heap | number | No | Maximum size of the Java heap allocated to the application. Measured in kB. | -| java_total_heap | number | No | Total size of the Java heap available for memory allocation. Measured in kB. | -| java_free_heap | number | No | Amount of free memory available in the Java heap. Measured in kB. | -| total_pss | number | No | Total proportional set size - the amount of memory used by the process, including shared memory and code. Measured in kB. | -| rss | number | Yes | Resident set size of the Java process - the amount of physical memory currently used by the Java application. Measured in kB. | -| native_total_heap | number | No | Total size of the native heap (memory outside of Java's control) available for memory allocation. Measured in kB. | -| native_free_heap | number | No | Amount of free memory available in the native heap. Measured in kB. | +|-------------------|:-------|:---------|-------------------------------------------------------------------------------------------------------------------------------| +| java_max_heap | uint64 | No | Maximum size of the Java heap allocated to the application. Measured in kB. | +| java_total_heap | uint64 | No | Total size of the Java heap available for memory allocation. Measured in kB. | +| java_free_heap | uint64 | No | Amount of free memory available in the Java heap. Measured in kB. | +| total_pss | uint64 | No | Total proportional set size - the amount of memory used by the process, including shared memory and code. Measured in kB. | +| rss | uint64 | Yes | Resident set size of the Java process - the amount of physical memory currently used by the Java application. Measured in kB. | +| native_total_heap | uint64 | No | Total size of the native heap (memory outside of Java's control) available for memory allocation. Measured in kB. | +| native_free_heap | uint64 | No | Amount of free memory available in the native heap. Measured in kB. | #### **`trim_memory`**