Op Intel Format Reference

The underlying data records in Op Intel have the following types:

Common Internal Fields

The following fields are internal and appear on every record type.

Field NameTypeExplanationSample value
@timestampTimestampThe timestamp of the record, transformed to the local timezone.November 30th 2015, 08:34:48.195
@versiontextThe internal version of the record1
_idtextOp Intel entry Id"AVFYmlrITZ2kShm7pFRJ"
_sourcetextOp Intel entry{large JSON object}
typetextThe type of the log entry. Can be one of (baas, dlc, bl)baas

Log entry baas

Data record of type baas corresponds to a request made from a client to Kinvey.

Field NameTypeExplanationSample value
appNametextThe app nameBook Reviews
environmentNametextThe environment nameProduction
collectiontextThe collection namebooks
credentialsUsedtextThe credentials used to authenticate the requestuser
kinveyEnvironmenttextThe environment id for this requestkid_A1bCdeF3g
methodtextThe HTTP request methodGET
urltextThe path of the url being requested, urlencoded/appdata/kid_A1bCdeF3g/books/?query=%7B%22Category%22%3A%22Action%22%7D
querytextThe HTTP query string{"Category":"Action"}
statusCodeNumberThe HTTP response code200
requestHeadersObjectA set of key value pairs representing the HTTP request headers{large JSON object}
requestHeaders.user-agenttextThe user agent of the clientandroid-kinvey-http/2.9.5
requestHeaders.x-kinvey-api-versiontextThe Kinvey API version requested3
requestHeaders.x-kinvey-custom-request-propertiestextCustom properties attached to the request{"token":"196998cb"}
requestHeaders.x-kinvey-device-informationtextDetailed device infosamsung/SM-T230NU Android 4.4.2 196998cb-9ea2-3762-aeb5-670afe0d8b43
responseHeadersObjectA set of key value pairs representing the HTTP response headers
responseHeaders.content-typetextThe content type of the HTTP responseapplication/json; charset=utf-8
responseHeaders.content-lengthNumberThe content length of the HTTP response348
responseHeaders.x-kinvey-api-versiontextThe Kinvey API version used3
responseHeaders.x-kinvey-executed-collection-hookstextA comma-separated list of executed Kinvey hooksPost-Fetch
clientIPtextThe IP address of the client205.251.251.80
kinveyAPItextThe API type of the request - one of (user, ping, appdata)appdata
requestDurationNumberThe duration of the request, in milliseconds36
requestIdtextA unique request Id, generated by Kinvey19b24ebb61c547709303ec04018d9a72
outgoingTimestampTimestampThe internal record timestamp2015-11-30T13:34:35.386Z

Geolocation fields

Logs of type baas also contain a set of fields that geolocate the client making the request.

Field NameTypeExplanationSample value
geoipObjectThe location of the client{large JSON object}
geoip.area_codeNumberArea code610
geoip.city_nametextCity nameCatasauqua
geoip.continent_codetextFull country nameNA
geoip.country_code2textCountry code 2US
geoip.country_code3textCountry code 3USA
geoip.country_nametextFull country nameUnited States
geoip.dma_codeNumberDMA code504
geoip.iptextThe IP Address that is geolocated24.229.128.215
geoip.latitudeNumberLatitude40.65629999999999
geoip.longitudeNumberLongitude-75.4661
geoip.locationCoordinatesThe IP Address that is geolocated[-75.4661, 40.65629999999999]
geoip.region_nametextRegion namePA
geoip.postal_codetextPostal code18032
geoip.real_region_nametextComplete region namePennsylvania
geoip.timezonetextTimezoneAmerica/New_York

Log entry dlc

Data record of type dlc corresponds to a request from Kinvey to configured Data Link Connector.

Field NameData TypeExplanationExamples
kinveyEnvironmenttextThe environment id for this requestkid_A1bCdeF3g
methodtextThe HTTP request methodGET
urltextThe path of the url being requested, urlencoded
querytextThe HTTP query string{"Category":"Action"}
statusCodeNumberThe HTTP response code200
requestHeadersObjectA set of key value pairs representing the HTTP request headers{large JSON object}
requestHeaders.content-typetextThe Kinvey API version requestedapplication/json
requestHeaders.user-agenttextThe user agent of the clientandroid-kinvey-http/2.9.5
requestHeaders.x-kinvey-custom-request-propertiestextCustom properties attached to the request{"token":"196998cb"}
requestHeaders.x-auth-keyClearedThe key used to authenticate the DLC request<cleared>
requestHeaders.X-Kinvey-Request-IdtextA unique request Id, generated by Kinvey630214c3237f490dae5bb6fea44981cd
requestBodyClearedThe body of the HTTP request<cleared>
responseHeadersObjectA set of key value pairs representing the HTTP response headers{large JSON object}
responseBodyClearedThe body of the HTTP response<cleared>
requestDurationNumberThe duration of the request, in milliseconds517.068
requestIdtextA unique request Id, generated by Kinvey630214c3237f490dae5bb6fea44981cd
timestampTimestampThe internal record timestamp2015-11-30T13:34:35.386Z

Log entry bl

Records of type bl correspond to an execution of a Business Logic script.

Field NameData TypeExplanationExamples
collectiontextThe name of the collection or Custom Endpointbooks or sendNotifications
kinveyEnvironmenttextThe environment id for this requestkid_A1bCdeF3g
requestIdtextA unique Id covering all processing within Kinvey630214c3237f490dae5bb6fea44981cd
resulttextThe result from the script call.SUCCESS or an error structure
targetFunctiontextThe outer function for this scriptonPostFetch or onRequest (for Custom Endpoints)
taskIdtextA unique Id covering the script calld98c950810bf4c71adbaffa87b981c62
totalTaskTimeNumberThe duration of the script call, in milliseconds619

Log entry rapid

Logs of type rapid contain information for requests between RAPID and the system of record.

Field NameData TypeExplanationExamples
appNametextThe app nameBook Reviews
applicationIdtextA unique Id for the app5e23a6a262e147b6a64690867aa4c942
authTypetextThe type of authentication used for this requestNone, ServiceAccount, MIC
connectorTypetextThe type of connector used for this requestrest, salesforce, saprfc
hosttextThe host this request went tohttps://example.com
methodtextThe method used for this requestget, post
querytextThe query used for this reuest{"Category":"Action"}
entityIdtextThe ID of the entity requested123
environmentNametextThe environment nameProduction
kinveyEnvironmenttextThe environment id for this requestkid_A1bCdeF3g
operationtextThe operation performed against the service objectinsert, getCountByQuery
requestDurationNumberThe duration of the request, in milliseconds517.068
requestEntitytextThe stringified JSON for any entity passed, usually on insert/update.{}
requestIdtextA unique Id covering all processing within Kinvey630214c3237f490dae5bb6fea44981cd
responseBodytextThe body of the response returned from the system of record{}
responseLengthNumberThe length of body returned from the system of record146
serviceObjectNametextThe name of the service objectpartners, accounts
sourceObjecttextAn connector-specific set of properties of the request made to the system of record{}
statusNumberA status code returned from the system of record, adapted to HTTP sematics200, 500

Log entry baas-auth

Logs of type baas-auth contain information for request between MIC and clients, and also include the common geolocation fields

Field NameData TypeExplanationExamples
apiVersionNumberThe MIC API version3
clientIPtextThe IP address of the client205.251.251.80
methodtextThe method used for this requestGET, POST
querytextThe query string used for this request (needs x-kinvey-force-debug-log-querystring:true){}
requestBodytextThe request body (for login requires x-kinvey-force-debug-log-credentials:true){}
applicationIdtextA unique Id for the app5e23a6a262e147b6a64690867aa4c942
appNametextThe app nameBook Reviews
kinveyEnvironmenttextThe environment id for this requestkid_A1bCdeF3g
environmentNametextThe environment nameProduction
requestDurationNumberThe duration of the request, in milliseconds517.068
requestHeaders.authorizationtextRequest authorization header (requires x-kinvey-force-debug-log-credentials:true)Authorization: *
requestHeaders.user-agenttextThe client user-agent headerAppcelerator Titanium/3.4.0 (LG-H815; Android API Level: 23; en-GB;)
requestHeaders.x-kinvey-device-informationtextKinvey library provided string including device informationunknown/Android_SDK_built_for_x86 Android 6.0 f9d09a25-560f-3e50-a60e-549bf6d18353
requestHeaders.x-kinvey-force-debug-log-credentialstextA header to enable debug logging of credentialstrue
requestHeaders.x-kinvey-force-debug-log-querystringtextA header to enable debug logging for query stringstrue
requestIdtextA unique Id covering all processing within Kinvey630214c3237f490dae5bb6fea44981cd
responseBodytextThe response body returned to the client, cleared by default<cleared>
sessionIdtextA session Id encompassing the full method-specific flow between the client and MIC4pO4ypIISAJ7CZKGtJLifRqv_db6EdL5
statusCodeNumberThe HTTP response code200
urltextThe path of the url being requested, urlencoded/oauth/validate

Tracking custom events

You can use Operational Intelligence to track custom events. Custom events can be triggered from any part of the application code with a single method call. They are designed specifically to address multi-view scenarios and and are best used for tracking events that are specific to the business use case.

A custom event is modeled along a custom endpoint, which is created in Kinvey's Management Console. Storing an event as as easy as posting to the endpoint, and the event automatically appears in Operational Intelligence, where the full set of charting dashboarding features are available to aggregate the events.

Got a question?