Zend Monitor UI extension - PHP API
Table of Contents
Predefined Global Constants
- ZM_TYPE_CUSTOM
- Event Type: custom event
- ZM_TYPE_FUNCTION_SLOW_EXEC
- Event Type: slow function execution
- ZM_TYPE_FUNCTION_ERROR
- Event Type: function error
- ZM_TYPE_REQUEST_SLOW_EXEC
- Event Type: slow request execution
- ZM_TYPE_REQUEST_RELATIVE_SLOW_EXEC
- Event Type: relative slow request execution
- ZM_TYPE_REQUEST_LARGE_MEM_USAGE
- Event Type: request is using large memory space
- ZM_TYPE_REQUEST_RELATIVE_LARGE_MEM_USAGE
- Event Type: request is using relatively large memory space
- ZM_TYPE_REQUEST_RELATIVE_LARGE_OUT_SIZE
- Event Type: request outputs large amount of data
- ZM_TYPE_ZEND_ERROR
- Event Type: zend error
- ZM_TYPE_JAVA_EXCEPTION
- Event Type: Unhandled Java Exception Caught
- ZM_TYPE_JQ_JOB_EXEC_ERROR
- Event Type: Job-Queue Job Exec Error
- ZM_TYPE_JQ_JOB_LOGICAL_FAILURE
- Event Type: Job-Queue Job Logical Failure
- ZM_TYPE_JQ_JOB_EXEC_DELAY
- Event Type: Job-Queue Job Exe Delay
- ZM_TYPE_JQ_DAEMON_HIGH_CONCURRENCY_LEVEL
- Event Type: Job-Queue Daemon High Concurrency
- ZM_TYPE_TRACER_FILE_WRITE_FAIL
- Event Type: Tracer Failed to write dump file
- ZM_TYPE_TRACER_FILE_WRITE_FAIL
- Event Type: Restart failed
- ZM_TYPE_ZSM_CONFIGUATION_MISMATCH
- Event Type: Configuration is not matching the cluster
- ZM_TYPE_ZSM_NODE_ADDED_SUCCESSFULLY
- Event Type: Node added successfully to the cluster
- ZM_TYPE_ZSM_NODE_IS_NOT_RESPONDING
- Event Type: Node is not responding
- ZM_TYPE_ZSM_NODE_REMOVED_SUCCESSFULLY
- Event Type: Node removed successfully from the cluster
- ZM_TYPE_ZSM_RESTART_FAILED
- Event Type: Restart failed
- ZM_SEVERITY_NORMAL
- Event Severity: normal
- ZM_SEVERITY_SEVERE
- Event Severity: severe
- ZM_STATUS_CLOSED
- Event Status: closed
- ZM_STATUS_NEW
- Event Status: new
- ZM_STATUS_REOPENED
- Event Status: reopened
- ZM_STATUS_IGNORED
- Event Status: ignored
- ZM_DATA_NODE_ID
- Node ID
- ZM_DATA_AGG_KEY
- Aggregation Key
- ZM_DATA_RULE_NAME
- Matched rule name
- ZM_DATA_EVENT_TYPE
- Event type
- ZM_DATA_SEVERITY
- Severity
- ZM_DATA_AGG_HINT
- Aggregation key
- ZM_DATA_FULL_URL
- Full URL
- ZM_DATA_FUNCTION_NAME
- Function name
- ZM_DATA_FILE_NAME
- File name
- ZM_DATA_LINE
- Line number
- ZM_DATA_REPEATS
- Number of repeats
- ZM_DATA_HAS_TRACE_FILES
- Does the event group has a related code tracing dump file
- ZM_DATA_FIRST_TIMESTAMP
- First timestamp of occurence
- ZM_DATA_LAST_TIMESTAMP
- Last timestamp of occurence
- ZM_DATA_STATUS
- Status
- ZM_DATA_EVENT_ID
- Event ID
- ZM_DATA_ATTR
- Issue attributes
- ZM_DATA_BACKTRACE
- Backtrace
- ZM_DATA_FUNC_DETAILS
- Function details
- ZM_DATA_FUNCTION_ARGS
- Function arguments
- ZM_DATA_ISSUE_AGG_KEY_ATTRIBUTES
- Issue attributes that are used for the aggregation key
- ZM_DATA_TRACER
- Tracer's data attributes
- ZM_DATA_BACKTRACE_CLASS_NAME
- Backtrace class name
- ZM_DATA_BACKTRACE_OBJECT_NAME
- Backtrace object name
- ZM_DATA_BACKTRACE_FUNCTION_NAME
- Backtrace function name
- ZM_DATA_BACKTRACE_LINE_NUMBER
- Backtrace line number
- ZM_DATA_BACKTRACE_FILE
- Backtrace file name
- ZM_DATA_BACKTRACE_IS_STATIC
- Backtrace function is static
- ZM_DATA_SUPER_GLOBALS
- Superglobals array
- ZM_DATA_VAR_GET
- GET variable
- ZM_DATA_VAR_POST
- POST variable
- ZM_DATA_VAR_COOCKIE
- COOKIE variable
- ZM_DATA_VAR_SESSION
- SESSION variable
- ZM_DATA_VAR_ENV
- Event ENV variable
- ZM_DATA_VAR_SERVER
- SERVER variable
- ZM_DATA_VAR_FILES
- FILES variable
- ZM_DATA_VAR_RAW_POST_DATA
- RAW_POST_DATA variable
- ZM_DATA_VAR_USER
- Event USER variable
- ZM_DATA_TRACER_EVENT_NUM
- Tracer's event number
- ZM_DATA_TRACER_DUMP_FILE
- Tracer's dump file name
- ZM_DATA_EVENT_GROUP_EXTRA_DATA
- Event Group Extra-Data. XML String
- ZM_DATA_ATTR_USER_DATA
- User data
- ZM_DATA_ATTR_CLASS
- Class name
- ZM_DATA_ATTR_ERROR_STRING
- Error string
- ZM_DATA_ATTR_ERROR_TYPE
- Error type
- ZM_DATA_ATTR_LOAD
- Load
- ZM_DATA_ATTR_EXEC_TIME
- Execution time
- ZM_DATA_ATTR_AVG_EXEC_TIME
- Average execution time
- ZM_DATA_ATTR_EXEC_TIME_CHANGE_PERCENT
- Execution time change percent
- ZM_DATA_ATTR_MEM_USAGE
- Memory usage
- ZM_DATA_ATTR_AVG_MEM_USAGE
- Average memory usage
- ZM_DATA_ATTR_MEM_USAGE_CHANGE_PERCENT
- Memory usage change percent
- ZM_DATA_ATTR_OUT_SIZE
- Output data size
- ZM_DATA_ATTR_AVG_OUT_SIZE
- Average output data size
- ZM_DATA_ATTR_OUT_SIZE_CHANGE_PERCENT
- Output data size change percent
- ZM_DATA_ATTR_JAVA_BACKTRACE
- Java exception backtrace
- ZM_FILTER_STATUS
- Filter by status
- ZM_FILTER_RULE_NAME
- Filter by rule name
- ZM_FILTER_OCCUREDF_AT
- Filter by full URL or file name or function name, depending on
the event type
- ZM_FILTER_BEFORE_TIMESTAMP
- Filter by before a specific timestamp
- ZM_FILTER_AFTER_TIMESTAMP
- Filter by after a specific timestamp
- ZM_FILTER_EVENT_TYPE
- Filter by event type
- ZM_FILTER_SEVERITY
- Filter by severity
- ZM_LIMITS_FIRST_ITEM
- First item limit in zend_monitor_get_issues
- ZM_LIMITS_NUM_OF_ITEMS
- Number of items limit in zend_monitor_get_issues
- ZM_SORTBY_DATA
- Sort by data in zend_monitor_get_issues
- ZM_SORTBY_ORDER_ASC
- List in ascending order in zend_monitor_get_issues
- ZM_TRACINGMODE_OFF
- Tracing is disabled
- ZM_TRACINGMODE_ON
- Tracing is enabled
- ZM_TRACINGMODE_STANDBY
- Tracing is in stand-by mode
PHP Functions
zend_monitor_get_issues
TBD
Available since version 4.0
Description
array zend_monitor_get_issues
(array $where, array $limit,
array $sort_by)
Parameters
- where
- The data that defines how the filtering should be performed.
The array must have all of the following fields
1. ZM_DATA_STATUS [integer; one of the predefined
constants:
ZM_STATUS_CLOSED, ZM_STATUS_OPENED]
2. ZM_DATA_RULE_NAME rule_name [string]
3. ZM_DATA_FULL_URL [string]
4. ZM_DATA_FILE_NAME [string]
5. ZM_DATA_FUNCTION_NAME [strings]
6. ZM_DATA_FIRST_TIMESTAMP [integer (timestamp)]
7. ZM_DATA_LAST_TIMESTAMP [integer (timestamp)]
8. ZM_DATA_EVENT_TYPE [integer; one of the predefined
constants: ZM_TYPE_CUSTOM, ZM_TYPE_FUNCTION_SLOW_EXEC, ZM_TYPE_FUNCTION_ERROR,
ZM_TYPE_REQUEST_SLOW_EXEC, ZM_TYPE_REQUEST_RELATIVE_SLOW_EXEC,
ZM_TYPE_REQUEST_LARGE_MEM_USAGE, ZM_TYPE_REQUEST_RELATIVE_LARGE_MEM_USAGE,
ZM_TYPE_REQUEST_RELATIVE_LARGE_OUT_SIZE, ZM_TYPE_ZEND_ERROR, ZM_TYPE_JAVA_EXCEPTION]
<br> 9. ZM_DATA_SEVERITY [integer; one of the predefined
constants: ZM_SEVERITY_NORMAL, ZM_SEVERITY_SEVERE]
- limit
- The data that defines how many results to get, starting from
a given row. The array must have all of the following fields
1. ZM_LIMITS_FIRST_ITEM [integer]
2. ZM_LIMITS_NUM_OF_ITEMS [integer]
- sort_by
- The data that defines how to sort the result The array must
have all of the following fields
1. ZM_SORTBY_DATA [integer (one of the predefined
constants, which are the keys of the result array)]
2. ZM_SORTBY_ORDER_ASC [boolean]
Return Value
An array of arrays - The parent's keys are the issue id.
The value of each issue ID is an array with the following data (note
that the keys are not strings but constants representing them):
1. ZM_DATA_ISSUE_ID [integer]
2. ZM_DATA_AGG_KEY [string]
3. ZM_DATA_RULE_NAME [string]
4. ZM_DATA_REPEATS[integer]
5. ZM_DATA_FIRST_TIMESTAMP [integer (timestamp)]
6. ZM_DATA_LAST_TIMESTAMP [integer (timestamp)]
7. ZM_DATA_EVENT_TYPE [integer; one of the predefined constants:
ZM_TYPE_CUSTOM, ZM_TYPE_FUNCTION_SLOW_EXEC, ZM_TYPE_FUNCTION_ERROR,
ZM_TYPE_REQUEST_SLOW_EXEC, ZM_TYPE_REQUEST_RELATIVE_SLOW_EXEC, ZM_TYPE_REQUEST_LARGE_MEM_USAGE,
ZM_TYPE_REQUEST_RELATIVE_LARGE_MEM_USAGE, ZM_TYPE_REQUEST_RELATIVE_LARGE_OUT_SIZE,
ZM_TYPE_ZEND_ERROR, ZM_TYPE_JAVA_EXCEPTION]
8. ZM_DATA_FULL_URL [string]
9. ZM_DATA_FILE_NAME [string]
10. ZM_DATA_FUNCTION_NAME [string]
11. ZM_DATA_LINE [integer]
12. ZM_DATA_SEVERITY [integer; one of the predefined constants:
ZM_SEVERITY_NORMAL, ZM_SEVERITY_SEVERE]
13. ZM_DATA_STATUS [integer; one of the predefined constants:
ZM_STATUS_CLOSED, ZM_STATUS_OPENED]
14. ZM_DATA_AGG_HINT [string]
15. ZM_DATA_HAS_TRACE_FILES [boolean] <br>
zend_monitor_get_rules_names
TBD
Available since version 4.0
Description
array zend_monitor_get_rules_names
(void)
Return Value
The array holds a list of strings
zend_monitor_change_issues_status
Changes the status of an array of issues to 'New', 'Close' or 'Ignore'
Available since version 4.0
Description
void zend_monitor_change_issues_status
(array $issue_ids, int $status)
Parameters
- issue_ids
- An array holding issue ids
- status
- The new status to change to.
One of the constants: ZM_STATUS_NEW, ZM_STATUS_CLOSED,
ZM_STATUS_IGNORED, ZM_STATUS_OPEN
zend_monitor_delete_issues
Available since version 4.0
Description
void zend_monitor_delete_issues
(array $issue_ids)
Parameters
- issue_ids
- An array holding issue ids
zend_monitor_get_issues_count
TBD
Available since version 4.0
Description
int zend_monitor_get_issues_count
(array $where)
Parameters
- where
- The data that defines how the filtering should be performed.
The array must have all of the following fields
1. ZM_DATA_STATUS [integer; one of the predefined
constants:
ZM_STATUS_CLOSED, ZM_STATUS_OPENED]
2. ZM_DATA_RULE_NAME rule_name [string]
3. ZM_DATA_FULL_URL [string]
4. ZM_DATA_FILE_NAME [string]
5. ZM_DATA_FUNCTION_NAME [strings]
6. ZM_DATA_FIRST_TIMESTAMP [integer (timestamp)]
7. ZM_DATA_LAST_TIMESTAMP [integer (timestamp)]
8. ZM_DATA_EVENT_TYPE [integer; one of the predefined
constants:
ZM_TYPE_CUSTOM, ZM_TYPE_FUNCTION_SLOW_EXEC, ZM_TYPE_FUNCTION_ERROR,
ZM_TYPE_REQUEST_SLOW_EXEC, ZM_TYPE_REQUEST_RELATIVE_SLOW_EXEC,
ZM_TYPE_REQUEST_LARGE_MEM_USAGE, ZM_TYPE_REQUEST_RELATIVE_LARGE_MEM_USAGE,
ZM_TYPE_REQUEST_RELATIVE_LARGE_OUT_SIZE, ZM_TYPE_ZEND_ERROR, ZM_TYPE_JAVA_EXCEPTION]
9. ZM_DATA_SEVERITY [integer; one of the predefined
constants:
ZM_SEVERITY_NORMAL, ZM_SEVERITY_SEVERE]
Return Value
Total number of issues that match the given filter
zend_monitor_get_issue_data
TBD
Available since version 4.0
Description
array zend_monitor_get_issue_data
(int $issue_id)
Parameters
- issue_id
- The ID of the issue to get the data for
Return Value
The array must have all the following fields (note that the keys
are not strings, but constants that represent them)
1. ZM_DATA_ISSUE_ID [integer]
2. ZM_DATA_AGG_KEY [string]
3. ZM_DATA_RULE_NAME [string]
4. ZM_DATA_EVENT_TYPE [integer; one of the predefined constants:
ZM_TYPE_CUSTOM, ZM_TYPE_FUNCTION_SLOW_EXEC, ZM_TYPE_FUNCTION_ERROR,
ZM_TYPE_REQUEST_SLOW_EXEC, ZM_TYPE_REQUEST_RELATIVE_SLOW_EXEC, ZM_TYPE_REQUEST_LARGE_MEM_USAGE,
ZM_TYPE_REQUEST_RELATIVE_LARGE_MEM_USAGE, ZM_TYPE_REQUEST_RELATIVE_LARGE_OUT_SIZE,
ZM_TYPE_ZEND_ERROR, ZM_TYPE_JAVA_EXCEPTION]
5. ZM_DATA_REPEATS[integer]
6. ZM_DATA_FIRST_TIMESTAMP [integer (timestamp)]
7. ZM_DATA_LAST_TIMESTAMP [integer (timestamp)]
8. ZM_DATA_FULL_URL [string]
9. ZM_DATA_FUNCTION_NAME [string]
10. ZM_DATA_FILE_NAME [string]
11. ZM_DATA_LINE [integer]
12. ZM_DATA_STATUS [integer; one of the predefined constants:
ZM_STATUS_CLOSED, ZM_STATUS_OPENED]
13. ZM_DATA_SEVERITY [integer; one of the predefined constants:
ZM_SEVERITY_NORMAL, ZM_SEVERITY_SEVERE]
14. ZM_DATA_AGG_HINT [string]
15. ZM_DATA_ISSUE_AGG_KEY_ATTRIBUTES [array] - Extra Attributes
that are used by the Aggregation Key Generator. They vary from one
Event Type to the other:
a. Custom: ZM_DATA_ATTR_CLASS
b. Function Error: Empty
c. Function Slow Exec: Empty
d. Request Slow Exec: Empty
e. Request Relative Slow Exec: Empty
f. Request Large Mem Usage: Empty
g. Request Relative Large Mem Usage: Empty
h. Request Relative Large Out Size: Empty
i. Zend Error: ZM_DATA_ATTR_ERROR_TYPE, ZM_DATA_ATTR_ERROR_STRING
j. Java Exception: ZM_DATA_ATTR_ERROR_STRING
zend_monitor_get_issue_event_groups
TBD
Available since version 4.0
Description
array zend_monitor_get_issue_event_groups
(string $issue_agg_key)
Parameters
- issue_agg_key
- The agg-key of the issue to get the groups for
Return Value
The array should have arrays, each must have the following fields:
1. ZM_DATA_NODE_ID [string] node ID of current event
2. ZM_DATA_EVENT_ID [integer]
3. ZM_DATA_FIRST_TIMESTAMP [integer (timestamp)]
4. ZM_DATA_REPEATS[integer]
5. ZM_DATA_HAS_TRACE_FILES [boolean]
6. ZM_DATA_ATTR [array] with the following keys
a. ZM_DATA_ATTR_ERROR_TYPE [integer (E_WARNING, E_ERROR, etc.)].
Uses in Events: Zend Error, Java Exception
b. ZM_DATA_ATTR_EXEC_TIME [integer] Uses in Events: Function
Slow Exec, Request Slow Exec, Request Relative Slow Exec
c. ZM_DATA_ATTR_AVG_EXEC_TIME [integer] Uses in Events: Request
Relative Slow Exec
d. ZM_DATA_ATTR_MEM_USAGE [integer] in KB. Uses in Events:
Request Large Mem USage, Request Relative Large Mem Usage
e. ZM_DATA_ATTR_AVG_MEM_USAGE [float] in KB. Uses in Events:
Request Relative Large Mem Usage
f. ZM_DATA_ATTR_OUT_SIZE [integer] in KB. Uses in Events:
Request Relative Large Out Size
g. ZM_DATA_ATTR_AVG_OUT_SIZE [float]. Uses in Events: Request
Relative Large Out Size
h. ZM_DATA_ATTR_LOAD [float]. Uses in Events: Function Slow
Exec, Request Slow Exec, Request Relative Slow Exec
zend_monitor_get_event_group_data
TBD
Available since version 4.0
Description
array zend_monitor_get_event_group_data
(int $event_group_id)
Parameters
- event_group_id
- The ID of the event group to get the data for
Return Value
The array must have all the following fields (note that the keys
are not strings but constants representing them)
1. ZM_DATA_ISSUE_ID [number]
2. ZM_DATA_FUNC_DETAILS function [array]
a. ZM_DATA_FUNCTION_NAME [string]
b. ZM_DATA_FUNCTION_ARGS [array of serialized & encoded
values]
3. ZM_DATA_SUPER_GLOBALS [array]
a. ZM_DATA_VAR_GET [string (serialized & encoded array)]
b. ZM_DATA_VAR_POST [string (serialized & encoded array)]
c. ZM_DATA_VAR_COOCKIE [string (serialized & encoded array)]
d. ZM_DATA_VAR_SESSION [string (serialized & encoded array)]
e. ZM_DATA_VAR_ENV [string (serialized & encoded array)]
f. ZM_DATA_VAR_SERVER [string (serialized & encoded array)]
g. ZM_DATA_VAR_FILES [string (serialized & encoded array)]
h. ZM_DATA_VAR_RAW_POST_DATA [string (serialized & encoded
array)]
4.ZM_DATA_BACKTRACE [array of arrays]
a. ZM_DATA_BACKTRACE_CLASS_NAME [string]
b. ZM_DATA_BACKTRACE_OBJECT_NAME [string]
c. ZM_DATA_BACKTRACE_FUNCTION_NAME [string]
d. ZM_DATA_BACKTRACE_LINE_NUMBER [integer]
e. ZM_DATA_BACKTRACE_FILE [string]
f. ZM_DATA_BACKTRACE_IS_STATIC [string (matches debug_backtrace::type
attribute definition)]
5. ZM_DATA_ATTR [array] with the following keys
a. ZM_DATA_ATTR_ERROR_STRING [string] Uses in Events: Zend
Error, Java Exception, Custom
b. ZM_DATA_ATTR_CLASS [string (the custom error identifier)]
Uses in Events: Custom
c. ZM_DATA_ATTR_USER_DATA [string (serialized & encoded
array)] Uses in Events: Custom
d. ZM_DATA_ATTR_JAVA_BACKTRACE [string] Uses in Events: Java
Exception
6. ZM_DATA_TRACER [array] with the following keys
a. ZM_DATA_TRACER_EVENT_NUM [integer] event number as shown
in the corresponding tracer dump file (-1 is no tracing data available)
b. ZM_DATA_TRACER_DUMP_FILE [string] corresponding tracer
dump file (empty when no tracing data available)
7. ZM_DATA_EVENT_GROUP_EXTRA_DATA [string]
8. ZM_DATA_NODE_ID [string] node ID of current event <br>
zend_monitor_max_issue_id
Returns the highest ID that exist in the issues table
Available since version 4.0
Description
int zend_monitor_max_issue_id
(void)
Return Value
zend_monitor_delete_old_issues
The function removes old issues both from cache and from Monitor
DB.
Available since version 4.0
Description
array zend_monitor_delete_old_issues
(int $expiration_time, int $closed_items_expiration_time)
Parameters
- expiration_time
- All items older than the expiration_time should be deleted
- closed_items_expiration_time
- Closed/Ignored items older than the closed_items_expiration_time
should be deleted
Return Value
List of trace files IDs related to deleted issued.
zend_monitor_delete_all_events
Deletes all the events-related information
Available since version 4.0
Description
void zend_monitor_delete_all_events
(void)