...
The data analyzer is a summary data generator based on the received event. WSO2 API-M uses WSO2 APIM Analytics to perform analytics tasks. APIM Analytics uses Apache Spark as a processing language. The <APIM-ANALYITCS_HOME>/repository/deployment/server/carbonapps/org_wso2_carbon_analytics_apim-1.0.0.car
CAR file (which is deployed in the APIM Analytics server by default) contains details of all summarized data and their destination.
API Manager event streams
API-M 2.0.0 provides six types of event streams as listed below.
org.wso2.apimgt.statistics.request
This stream tracks information for the API request.
...
title | org.wso2.apimgt.statistics.request |
---|
...
Info |
---|
A Carbon Application (C-App) or a CAR file is a collection of artifacts deployable on a WSO2 product instance. These artifacts are usually JAVA-based or XML configurations, designed differently for each product in the WSO2 Carbon platform. You can deploy these artifacts to generate services. A single WSO2 product can have numerous artifacts such as Axis2 services, dataservices, synapse configurations, endpoints, proxy services, mediators, registry resources, BPEL workflows etc. Usually, these artifacts are created in a development environment and then moved one by one into staging/production environments. Manually configuring artifacts to build up the entire solution this way is a time-consuming task. Instead, you can bundle configuration files and artifacts in a C-App and port Web service based solutions across environments more easily. C-Apps allow you to export your entire solution as a single archive file. |
API Manager event streams
API-M 2.0.0 provides six types of event streams as listed below.
org.wso2.apimgt.statistics.request
This stream tracks information for the API request.
Code Block title org.wso2.apimgt.statistics.request meta_ClientType : STRING : Meta information of Client Type consumerKey : STRING : Consumer key of API invoked client application context : STRING : API context depending on the user's request api_version : STRING : API synapse artifact contained name [API Provider +"--"+API Name] api : STRING : API Name resourcePath : STRING : API resource URL pattern of API request resourceTemplate: STRING : API resource URL template of API request method : STRING : HTTP Verb of API request [e.g.:GET/POST] version : STRING : API version request : INT : Request count (e.g. 1) requestTime : STRINGLONG : Consumer key of API invoked client application context API request hit time in APIM userId : STRING : API invoked end user name tenantDomain : STRING : API context depending on the user's request api_version Tenant domain of API provider hostName : STRING : API synapseManager artifactserver containedhost nameapiPublisher [API Provider +"--"+API Name] api : STRING : API provider applicationName : STRING : API Name resourcePath Name of the client application applicationId : STRING : API resource URL patternID of APIthe requestclient methodapplication userAgent : STRING : HTTPUser Verbagent of APIthe user tier request [e.g.:GET/POST] version : STRING : API version request Name of the throttling policy assigned to the request throttledOut : INTBOOL : RequestDescribes whether count (e.g. 1) requestTime :this is a throttled request or not clientIp LONG : API request hit time in APIM userIdSTRING : STRING : API invoked end user nameIP tenantDomainAddress of the Client applicationOwner: STRING : Tenant domain ofSTRING API provider host : : Name STRING : API Manager server host apiPublisher of the owner of the Application
org.wso2.apimgt.statistics.response
This stream tracks information for the API response. It includes the time taken for the response to get back, the received time etc.
Code Block title org.wso2.apimgt.statistics.response meta_ClientType : STRING : API provider application : STRING : Name of the client application applicationId : STRING : IDMeta information of theClient clientType applicationconsumerKey userAgent : STRING : UserConsumer agentkey of the userclient application tierinvoking the API context : STRING : NameAPI ofcontext thedepending throttlingon policy assigned to the request throttledOutthe user's request api_version : BOOLSTRING : Describes whether this is a throttled request or not
org.wso2.apimgt.statistics.response
This stream tracks information for the API response. It includes the time taken for the response to get back, the received time etc.
Code Block title org.wso2.apimgt.statistics.response consumerKeyAPI synapse artifact contained name [API Provider +"--"+API Name] api : STRING : Consumer key of the client application invoking the API contextName resourcePath : STRING : API contextresource dependingURL onpattern theof user'sAPI request api_version resourceTemplate: STRING : STRING : API synapse artifact contained name [API Provider +"--"+API Name] api : API resource URL template of API request method : STRING : HTTP Verb of API Name resourcePath request [e.g.:GET/POST] version : STRING : API resource URL pattern of API request method version response : INT : Response count (e.g. 1) responseTime : STRINGLONG : HTTPTotal Verbtime oftaken APIfor request/response [e.g.:GET/POST] version flow[serviceTime+backendTime] serviceTime : STRINGLONG : Time taken to serve the API versionrequest responsein APIM side backendTime : INT LONG : Response count (e.g. 1) responseTimeTime taken process the request at the backend username : LONGSTRING : TotalAPI timeinvoked takenend for request/response flow[serviceTime+backendTime] serviceTimeuser eventTime : LONG : TimeTimestamp taken to serve the API request in APIM side backendTime of response event published tenantDomain : LONGSTRING : TimeTenant takendomain processof theAPI request at the backend user provider hostName : STRING : API invokedManager endserver user hostname eventTimeapiPublisher : LONGSTRING : TimestampAPI of response event published tenantDomain provider applicationName : STRING : Tenant domainName of APIthe providerclient host application applicationId : STRING : API Manager server hostname apiPublisherID of the client application cacheHit : STRINGBOOL : API provider application Describes if response caching is enabled or not responseSize : STRINGLONG : Name of the client application applicationIdResponse message size in bytes protocol : STRING : ID of the client application cacheHitProtocol used to send the response (HTTP/HTTPS) and the port responseCode : STRING : BOOL : Describes if response caching is enabled or not responseSize Http Response :Code destination LONG : Response message size in bytes protocol STRING : : STRING : Protocol used to send the response (HTTP/HTTPS) andDestination URL of the portAPI
org.wso2.apimgt.statistics.fault
This stream contains the fault API invocations. It includes the API with back end errors, timeout etc
Code Block title org.wso2.apimgt.statistics.fault
Code Block title org.wso2.apimgt.statistics.fault meta_ClientType : STRING : Meta information of Client Type consumerKey : STRING : Consumer key of the client application invoking the API context : STRING : API context depending on the user's request api_version : STRING : API version api : STRING : API Name resourcePath : STRING : API resource url pattern of API request method : STRING : HTTP Verb of API request [e.g.:GET/POST] version : STRING : API version errorCode : STRING : HTTP error code errorMessage : STRING : Description of error message requestTime : LONG : API request time in millisecond userId : STRING : API invoked end user name tenantDomain : STRING : Tenant domain of API provider hosthostName : STRING : API Manager server host apiPublisher : STRING : API provider applicationapplicationName : STRING : Name of the client application applicationId : STRING : ID of the client application protocol : STRING : Protocol used to send the response (HTTP/HTTPS) and the port
org.wso2.apimgt.statistics.throttle
This stream contains the API invocation with throttle information. Throttling can happen due to any of the following reasons:
The application limit has exceeded.
The resource limit has exceeded.
The API limit has exceeded.
The hard level limit has exceeded.
Code Block title org.wso2.apimgt.statistics.throttle .
Code Block title org.wso2.apimgt.statistics.throttle meta_ClientType : STRING : Meta information of Client Type accessToken : STRING : Access token of the request userId : STRING : API invoked end user name tenantDomain : STRING : Tenant domain of API provider api : STRING : API Name api_version : STRING : API synapse artifact contained name [API Provider +"--"+API Name] context : STRING : API context depending on the user's request apiPublisher : STRING : API provider throttledTime : LONG : The timestamp which throttle out event triggers application applicationName : STRING : Name of the client application applicationId : STRING : ID of the client application throttledOutReason : STRING : The reason describing why the request has been throttled out
org.wso2.apimgt.statistics.workflow
This event stream creates events based on the API Manager workflow and publishes them to the analyzer.
Code Block title org.wso2.apimgt.statistics.workflow publishes them to the analyzer.
Code Block title org.wso2.apimgt.statistics.workflow meta_ClientType : STRING : Meta information of Client Type workflowReference : STRING : Holds the workflow reference ID workflowStatus : STRING : Status of the workflow e.g.: CREATED, APPROVED, REJECTED, REGISTERED tenantDomain : STRING : Tenant domain of subscriber who triggers the workflow in APIStore workflow : STRING : Type of the workflow e.g.:AM_APPLICATION_CREATION, createdTime : LONG : The workflow was creation time in milliseconds updatedTime : LONG : The last updated time of the workflow in milliseconds
org.wso2.apimgt.statistics.execution.time
This stream contains information relating to API invocation including time stamps and the time taken by the API at different stages of invocation (e.g., time taken to backend, time taken to mediation flow, response time etc.).
Code Block title org.wso2.apimgt.statistics.execution.time meta_ClientType : STRING : Meta information of Client Type api : STRING : API Name api_version : STRING : API Version tenantDomain : STRING : Tenant domain of subscriber who triggers the workflow in APIStore apiPublisher : STRING : API Provider apiResponseTime : LONG : Total time taken for request/response flow context : STRING : API context depending on the user's request securityLatency : LONG : Time taken for authentication throttlingLatency : LONG : Time taken for throttling the request/response requestMediationLatency : LONG : Time taken to mediate the request responseMediationLatency: LONG : Time taken to mediate the response backendLatency : LONG : Time taken by the backend to return the response otherLatency : LONG : Time taken to process tasks other than mentioned above eventTime : LONG : Timestamp of the sent event
...