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)