Skip to content

Home

Introduction

Development

IDEs

Services

Service manager

API Explorer

Logging data to Monitor

As mentioned beforehand, the direct alteration of the Invoke monitor search index is not permitted. Instead, your instance automatically does the indexing for you whenever it gets notified about a client or event call to any of your endpoints.

Discrepancies

However, depending on how your endpoints are exposed and how they are invoked, there will be slight variations in the values of certain document properties. The following subsections will explain these discrepancies.

To give you get a head start, here are snippets from a search API response that let you compare the contents of the service call documents – all varying on how the services were exposed:

Documents of services invoked normally

Below are sample service call documents produced when the services are invoked normally. Invoking requests via the service invoker yields slightly different results.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
    "id": "d8d311cd-1229-44f2-87b7-f2918d2552ed",
    "ruleId": -1,
    "timeReceived": "2018-05-29T08:25:02.028Z",
    "trackerId": "42ac0c77-e5d3-40a0-9ac8-b396555194a1",
    "packageName": "speak",
    "endpointType": "http",
    "serviceName": "sayHello",
    "url": "/api/hello/world",
    "user": "anonymous",
    "success": true,
    "cost": 0,
    "responseTime": 1527582302027,
    "_version_": 1601786139950186496
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
{
    "id": "88cc2fcc-7eac-46db-8c9c-1a01cdec1e91",
    "ruleId": -1,
    "timeReceived": "2018-05-29T06:36:15.785Z",
    "trackerId": "20221586-4de0-44d5-ba9e-3609c57b56f0",
    "packageName": "speak",
    "endpointName": "org.speak.English",
    "endpointType": "api",
    "serviceName": "org.speak.Hello",
    "url": "/api/hello/world",
    "user": "user@your.org",
    "success": true,
    "cost": 0,
    "responseTime": 1527575775513,
    "_version_": 1601779296683163648
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
    "id": "5f4a561d-2933-43ef-a218-0a506c6697d0",
    "ruleId": -1,
    "timeReceived": "2018-05-29T06:04:14.869Z",
    "trackerId": "55e70e29-8176-4ad3-a82c-18e5cc1ad8bd",
    "packageName": "speak",
    "endpointType": "http",
    "serviceName": "org.speak.Hello",
    "url": "/api/hello/world",
    "user": "anonymous",
    "success": true,
    "cost": 0,
    "responseTime": 1527573854054,
    "_version_": 1601777282827943936
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
    "id": "98806c08-767f-409a-9c55-1488d54a125d",
    "ruleId": 0,
    "timeReceived": "2018-05-29T08:37:23.640Z",
    "packageName": "examples",
    "endpointName": "SendScheduledEmail",
    "endpointType": "scheduler",
    "serviceName": "gloop:endpointServices.gloop.schedulerExamples.SendScheduledEmail/endpointServices.gloop.schedulerExamples.SendScheduledEmail",
    "user": "anonymous",
    "success": true,
    "responseTime": 1527583043290,
    "_version_": 1601786918021890048,
    "cost": 1
}

trackerId

  • The trackerId only gets set when the service is configured to log the calls to Tracker.

endpointName

  • This property is only present in services triggered by Integrate endpoints or Gloop API endpoints.
  • If a Gloop API endpoint invoked the service, it'll be equivalent to the namespace of the Gloop API.
  • If the service is called by an Integrate endpoint, endpointName will be set to the name of that Integrate endpoint.

endpointType

  • If the call came from a Gloop API endpoint, it'll have the value of api.
  • If the call was from an Integrate endpoint instead, endpointType will be set to the actual type of the Integrate endpoint (e.g. scheduler, email, ftp-server) that wrapped the service.

serviceName

  • In the case of Spring-based Groovy REST controllers, this is the name of the method that handled the call.
  • For Gloop API endpoints and ad hoc Gloop service endpoints, this is the namespace of the service that was invoked.
  • For Gloop services invoked via the service invoker, though, the service name is consistently set to runGloop.
  • Integrate endpoints will set serviceName to the service namespace of the service they are configured to call.

url

  • Not set if service is called by an Integrate endpoint.
  • The invocation URLs of services invoked via the service invoker (invoked via browser) are different and thus will be reflected in the service call document.

    If the same Groovy service above was called via the service invoker, its service call document's url property will be:

    1
    2
    3
    4
    5
    {
        ...
        "url": "/invoke/speak/groovy/org.speak.Greeter/public+org.springframework.http.ResponseEntity%3C%3F%3E+org.speak.Greeter.sayHello%28java.lang.String%29",
        ...
    }
    

    With the Gloop service, though, we'll get something like:

    1
    2
    3
    4
    5
    {
        ...
        "url": "/invoke/speak/gloop/org.speak.Hello",
        ...
    }