Metrics Collection API
{ urn:com.soa.monitor.usage.analytics.service } MetricCollector
This API is used to report metrics, audit, and transaction data.
POST/publish/usageReport audit information about a specific message exchange.
Uploads audit information about a specific message exchange. A usage example is as follows:
Sample Request
POST /rest/monitor/publish/usage HTTP/1.1
Content-Type: application/json
{
"usageDatas" : [ {
"bindingTemplateKey" : "uddi:f0d941be-b8a6-11e5-a824-b68f99c42d0e",
"bindingTemplateId" : 2252,
"contractKey" : "952c7a3e-b8a6-11e5-a824-b68f99c42d0e:1012",
"contractId" : 0,
"eventId" : "7b072b28-b8ef-11e5-a582-fac2dcd786a5",
"operationuuid" : "f0bc6ae7-b8a6-11e5-a824-b68f99c42d0e",
"operationId" : 0,
"serviceKey" : "uddi:f09a63f3-b8a6-11e5-a824-b68f99c42d0e",
"serviceId" : 0,
"organizationKey" : "uddi:8ca53fe5-b8a6-11e5-a824-b68f99c42d0e",
"organizationId" : 0,
"containerKey" : "793475ab-f688-487a-820b-c12dfc26",
"usageMessages" : [ {
"eventId" : "7b072b28-b8ef-11e5-a582-fac2dcd786a5",
"sequence" : 0,
"messageName" : "APPLICATION",
"msgDate" : 1452577440544,
"message" : "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ...",
"contentType" : "text/xml;charset=UTF-8",
"transportHeaders" : "POST /shoepos HTTP/1.1 ...",
"type" : "request",
"completeMessage" : true
}, {
"eventId" : "7b072b28-b8ef-11e5-a582-fac2dcd786a5",
"sequence" : 1,
"messageName" : "APPLICATION",
"msgDate" : 1452577440553,
"message" : "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ...",
"contentType" : "text/xml;charset=UTF-8",
"transportHeaders" : "HTTP/1.1 200 ...",
"type" : "response",
"completeMessage" : true
} ],
"nextHopInfos" : [ {
"url" : "http://localhost:8088/shoepos",
"requestDts" : 1452577440545,
"responseTime" : 7
} ],
"host" : "127.0.0.1",
"groupId" : "793475ab-f688-487a-820b-c12dfc26",
"clientIP" : "127.0.0.1",
"requestDtsCal" : 1452577440543,
"responseTime" : 10,
"reqMsgSize" : 531,
"respMsgSize" : 270,
"nextHopUrl" : "http://localhost:8088/shoepos",
"isSoapFaultByMP" : false,
"isSoapFaultByNextHop" : false,
"errCategory" : 0,
"listenerUrl" : "http://localhost:9905/shoepos",
"timeTakenByNextHopInMS" : 7,
"evaluationPointResult" : false,
"virtualService" : true,
"normalizedReqMsgSize" : 0,
"normalizedRespMsgSize" : 0,
"otherUsernames" : {
},
"verb" : "POST",
"statusCode" : "200",
"isQosViolationFault" : false,
"uniqueKey" : "f0bc6ae7-b8a6-11e5-a824-b68f99c42d0euddi:f0d941be-b8a6-11e5-a824-b68f99c42d0e952c7a3e-b8a6-11e5-a824-b68f99c42d0e:1012**"
} ]
}
Sample Response
HTTP/1.1 200 OK
success
In this example a single record is reported in the "usageDatas" array.
Parameters
Accepts application/json
Name
Type
Description
Model
body
entity
auditDataCollection
auditDataCollection {
usageData {
entry {
nextHopInfo {
timestamps {
timePeriod {
usageMessage {
usageDatas( Collection of usageData )
}
usageData {
contractKey( string )
customField1( string )
virtualService( boolean, required )
groupId( string )
organizationId( int, required )
applicationUser( string )
isQosViolationFault( boolean, required )
clientIP( string )
host( string )
originalCreateDtsCal( dateTime )
id( string )
reqUsername( string )
eventId( string )
nextHopUrl( string )
organizationName( string )
requestHeaderSize( long )
uniqueKey( string )
operationuuid( string )
verb( string )
requestProcessingTime( long )
otherUsernames( Collection of entry )
nextHopInfos( Collection of nextHopInfo )
listenerUrl( string )
containerKey( string )
licenseTerms( Collection of string )
organizationKey( string )
containerDisplayName( string )
errMessage( string )
usageMessages( Collection of usageMessage )
statusCode( string )
timestamps( timestamps, required )
errCategory( long, required )
bindingTemplateKey( string )
reqMsgSize( long, required )
responseProcessingTime( long )
respMsgSize( long, required )
timeTakenByNextHopInMS( long, required )
requestDtsCal( dateTime )
evaluationPointResult( boolean, required )
errDetails( string )
operationId( int, required )
contractName( string )
startTime( dateTime )
serviceKey( string )
serviceId( int, required )
isSoapFaultByMP( boolean, required )
responseHeaderSize( long )
normalizedReqMsgSize( long, required )
clientId( long )
responseTime( long, required )
normalizedRespMsgSize( long, required )
operationName( string )
serviceName( string )
isSoapFaultByNextHop( boolean, required )
contractId( int, required )
bindingTemplateId( int, required )
}
entry {
value( string )
key( string )
}
nextHopInfo {
responseHeaderSize( long )
eventId( string )
requestDts( dateTime )
requestHeaderSize( long )
responseTime( long, required )
timestamps( timestamps, required )
verb( string )
fault( boolean )
responseSize( long )
url( string )
createDts( dateTime )
requestSize( long )
status( string )
}
timestamps {
start( long )
end( long )
read( timePeriod )
write( timePeriod )
}
timePeriod {
start( long )
end( long )
}
usageMessage {
messageName( string )
eventId( string )
sequence( int, required )
transportHeaders( string )
completeMessage( boolean, required )
containerKey( string )
message( string )
type( string )
contentType( string )
msgDate( dateTime )
}
Reponse
Produces text/plain
Status Code
Reason
Model
200
Success
string
POST/publish/transactionsReport one or more multi-service transactions executed during a given time period.
Uploads information about one or more multi-service transactions executed during a given time period. A usage example is as follows:
Sample Request
POST /rest/monitor/publish/operation/rollup HTTP/1.1
Content-Type: application/json
{
"transactionDatas" : [ {
"serviceId" : 0,
"serviceKey" : "uddi:d1ba2a33-b957-11e5-a824-b68f99c42d0e",
"transactionId" : "181ce475-b95a-11e5-a186-ab2406d90304",
"createdDate" : 1452623230786,
"containerKey" : "216bed6b-363e-4f32-b2ac-b6702a2d",
"eventId" : "181ce475-b95a-11e5-a186-ab2406d90304",
"operationId" : 0,
"operationUuid" : "d1dcf477-b957-11e5-a824-b68f99c42d0e"
}, ]
}
Sample Response
HTTP/1.1 200 OK
success
In this example a single record is reported in the "transactionDatas" array.
Parameters
Accepts application/json
Name
Type
Description
Model
body
entity
transactionDataCollection
transactionDataCollection {
transactionData {
transactionDatas( Collection of transactionData )
}
transactionData {
eventId( string )
createdDate( dateTime )
parentOperationId( int )
containerKey( string )
operationId( int, required )
parentEventId( string )
serviceKey( string )
serviceId( int, required )
operationUuid( string )
transactionId( string )
}
Reponse
Produces text/plain
Status Code
Reason
Model
200
Success
string
POST/publish/operation/rollupReport metrics about one or more services for a given time period.
Uploads metrics about one or more services for a given time period. A usage example is as follows:
Sample Request
POST /rest/monitor/publish/operation/rollup HTTP/1.1
Content-Type: application/json
{
"rollupDatas" : [ {
"contractKey" : "952c7a3e-b8a6-11e5-a824-b68f99c42d0e:1012",
"operationId" : 0,
"operationuuid" : "f0bc6ae7-b8a6-11e5-a824-b68f99c42d0e",
"contractId" : 0,
"serviceId" : 0,
"bindingTemplateKey" : "uddi:f0d941be-b8a6-11e5-a824-b68f99c42d0e",
"bindingTemplateId" : 2252,
"serviceKey" : "uddi:f09a63f3-b8a6-11e5-a824-b68f99c42d0e",
"usageCount" : 2,
"timeSlot" : "201601112130",
"successCount" : 2,
"minRespTime" : 9,
"respMsgSize" : 540,
"totalRespTime" : 19,
"maxRespTime" : 10,
"maxMsgSize" : 531,
"maxID" : 0,
"reqMsgSize" : 1062,
"rollupType" : 0,
"errorCount" : 0,
"minMsgSize" : 531,
"max_id" : 0,
"rollupEndTime" : 1452577445001,
"qosViolationCount" : 0,
"containerName" : "793475ab-f688-487a-820b-c12dfc26",
"maxErrorRespTime" : 0,
"minErrorRespTime" : -1,
"rollupStartTime" : 1452577440000,
"minSuccessRespTime" : 9,
"maxSuccessRespTime" : 10,
"totalSuccessRespTime" : 19,
"totalErrorRespTime" : 0,
"clientId" : 0
} ]
}
Sample Response
HTTP/1.1 200 OK
success
In this example a single record is reported in the "rollupDatas" array.
Parameters
Accepts application/json
Name
Type
Description
Model
body
entity
operationalRollupData
operationalRollupData {
rollupData {
customAnalyticsCollection {
entry {
customAnalyticsDataArray {
customAnalyticsData {
rollupDatas( Collection of rollupData )
}
rollupData {
nextHopRequestBytes( long )
minRespTime( long, required )
contractKey( string )
timeSlot( string )
analyticsCollection( customAnalyticsCollection )
bindingTemplateKey( string )
rollupType( int, required )
maxRespTime( long, required )
reqMsgSize( long, required )
maxMsgSize( long, required )
respMsgSize( long, required )
rollupStartTime( long, required )
maxID( long, required )
containerName( string )
minMsgSize( long, required )
max_id( long, required )
successCount( long, required )
operationId( int, required )
serviceKey( string )
serviceId( int, required )
rollupEndTime( long, required )
errorCount( long, required )
licenseTermsID( string )
totalRespTime( long, required )
clientId( long, required )
maxSuccessRespTime( long, required )
totalErrorRespTime( long, required )
operationuuid( string )
totalSuccessRespTime( long, required )
maxErrorRespTime( long, required )
usageCount( long, required )
minErrorRespTime( long, required )
qosViolationCount( long, required )
contractId( int, required )
licenseTerms( Collection of string )
nextHopResponseBytes( long )
bindingTemplateId( int, required )
minSuccessRespTime( long, required )
}
customAnalyticsCollection {
data( Collection of entry )
}
entry {
value( customAnalyticsDataArray )
key( string )
}
customAnalyticsDataArray {
item( Collection of customAnalyticsData )
}
customAnalyticsData {
count( int, required )
metrics( Collection of entry )
dimensions( Collection of entry )
}
Reponse
Produces text/plain
Status Code
Reason
Model
200
Success
string
POST/publish/custom/rollupInternally used interface. Not supported for public use.
Internally used interface. Not supported for public use.
Parameters
Accepts application/json
Name
Type
Description
Model
body
entity
customRollupData
customRollupData {
rollupData {
customAnalyticsCollection {
entry {
customAnalyticsDataArray {
customAnalyticsData {
rollupDatas( Collection of rollupData )
}
rollupData {
nextHopRequestBytes( long )
minRespTime( long, required )
contractKey( string )
timeSlot( string )
analyticsCollection( customAnalyticsCollection )
bindingTemplateKey( string )
rollupType( int, required )
maxRespTime( long, required )
reqMsgSize( long, required )
maxMsgSize( long, required )
respMsgSize( long, required )
rollupStartTime( long, required )
maxID( long, required )
containerName( string )
minMsgSize( long, required )
max_id( long, required )
successCount( long, required )
operationId( int, required )
serviceKey( string )
serviceId( int, required )
rollupEndTime( long, required )
errorCount( long, required )
licenseTermsID( string )
totalRespTime( long, required )
clientId( long, required )
maxSuccessRespTime( long, required )
totalErrorRespTime( long, required )
operationuuid( string )
totalSuccessRespTime( long, required )
maxErrorRespTime( long, required )
usageCount( long, required )
minErrorRespTime( long, required )
qosViolationCount( long, required )
contractId( int, required )
licenseTerms( Collection of string )
nextHopResponseBytes( long )
bindingTemplateId( int, required )
minSuccessRespTime( long, required )
}
customAnalyticsCollection {
data( Collection of entry )
}
entry {
value( customAnalyticsDataArray )
key( string )
}
customAnalyticsDataArray {
item( Collection of customAnalyticsData )
}
customAnalyticsData {
count( int, required )
metrics( Collection of entry )
dimensions( Collection of entry )
}
Reponse
Produces text/plain
Status Code
Reason
Model
200
Success
string
POST/publish/usage/messageReport audit information about a specific exchange messages.
Parameters
Accepts application/json
Name
Type
Description
Model
body
entity
auditMessageCollection
auditMessageCollection {
usageMessage {
usageMessages( Collection of usageMessage )
}
usageMessage {
messageName( string )
eventId( string )
sequence( int, required )
transportHeaders( string )
completeMessage( boolean, required )
containerKey( string )
message( string )
type( string )
contentType( string )
msgDate( dateTime )
}
Reponse
Produces text/plain
Status Code
Reason
Model
200
Success
string