Dynamic Logic Statistics Integration Point

This integration point delivers statistics about the run of dynamic logic units. The statistics are gathered while the Oracle Health Insurance applications are running. This integration point can be used to get insight into the statistics.

The following use cases are supported:

  • Retrieve the top-N of the most run dynamic logics, where N is a configurable number. If not specified, N=10.

  • Retrieve the top-N of the longest running dynamic logics, where N is a configurable number. If not specified, N=10.

  • Retrieve the top-N of the highest allocated memory, where N is a configurable number. If not specified, N=10.

  • Retrieve the top-N of the highest number of retrieved rows, where N is a configurable number. If not specified, N=10.

  • Restrict to a single dynamic logic code.

The statistics presented are for all the nodes in the cluster together.

The integration point provides HTTP status codes as defined in the Response Messages page of the Developer Guide.

The operations are protected by the HTTP API access restriction dynamiclogicstatistics IP.

The endpoint for dynamic logic statistics is available at:

http://<host>:<port>/<context-root>/dynamiclogicstatistics

This endpoint is the overview resource of the dynamic logic statistics that gives access to the resources that implement the actual use cases.

Operations

Overview Resource

To retrieve an overview of the dynamic logic statistics, use the following GET call.

http://<host>:<port>/<context-root>/dynamiclogicstatistics
Response Example
{
  "items": [
    {
      "name": "elapsed",
      "links": [
        {
          "rel": "canonical",
          "href": "http://<host>:<port>/<context-root>/dynamiclogicstatistics/elapsed?numberOfResults={numberOfResults}",
          "templated": true
        }
      ]
    },
    {
      "name": "executions",
      "links": [
        {
          "rel": "canonical",
          "href": "http://<host>:<port>/<context-root>/dynamiclogicstatistics/executions?numberOfResults={numberOfResults}",
          "templated": true
        }
      ]
    },
    {
      "name": "allocatedmemory",
      "links": [
        {
          "rel": "canonical",
          "href": "http://<host>:<port>/<context-root>/dynamiclogicstatistics/allocatedmemory?numberOfResults={numberOfResults}",
          "templated": true
        }
      ]
    },
    {
      "name": "retrievedrows",
      "links": [
        {
          "rel": "canonical",
          "href": "http://<host>:<port>/<context-root>/dynamiclogicstatistics/retrievedrows?numberOfResults={numberOfResults}",
          "templated": true
        }
      ]
    },
    {
      "name": "single",
      "links": [
        {
          "rel": "canonical",
          "href": "http://<host>:<port>/<context-root>/dynamiclogicstatistics/{dynamicLogicCode}",
          "templated": true
        }
      ]
    },
    {
      "name": "reset",
      "links": [
        {
          "rel": "dynamiclogicstatistics:reset",
          "href": "http://<host>:<port>/<context-root>/dynamiclogicstatistics/reset"
        }
      ]
    }
  ],
  "links": [
    {
      "rel": "self",
      "href": "<self link>"
    }
  ]
}

Retrieve Statistics Ordered By Total Elapsed Time

To retrieve statistics ordered by total elapsed time, use the following GET call:

http://<host>:<port>/<context-root>/dynamiclogicstatistics/elapsed

This call retrieves the dynamic logic statistics ordered by total elapsed time per dynamic logic code. The optional request parameter numberOfResults controls the number of results to be returned. When not specified, 10 results are returned.

The top N with the highest total is returned in descending order of total run time.

Response Example
{
    "items": [
        {
            "code"                : "<dynamicLogicCode>",
            "totalElapsedTime"    : "<total elapsed time in milliseconds>",
            "totalExecutions"     : "<total number of dynamic logic runs>",
            "averageElapsedTime"  : "<average elapsed time in nanoseconds>",
            "executionCount0"     : "<total number of dynamic logic runs with elapsed time < 0.1 milliseconds>",
            "executionCount1"     : "<total number of dynamic logic runs with elapsed time >= 0.1 and < 1 milliseconds >",
            "executionCount10"    : "<total number of dynamic logic runs with elapsed time >= 1 and < 10 milliseconds >",
            "executionCount100"   : "<total number of dynamic logic runs with elapsed time >= 10 and < 100 milliseconds >",
            "executionCount1000"  : "<total number of dynamic logic runs with elapsed time >= 100 and < 1000 milliseconds >",
            "executionCount10000" : "<total number of dynamic logic runs with elapsed time >= 1000 and < 10000 milliseconds >",
            "executionCountLong"  : "<total number of dynamic logic runs with elapsed time >= 10000 milliseconds >",
            "totalAllocatedMemory": "<total amount of memory allocated in kilobytes by dynamic logic for all the runs>",
            "maxAllocatedMemory"  : "<highest amount of memory allocated in kilobytes by dynamic logic in a single run>",
            "averageAllocatedMemory": "<average amount of memory allocated in kilobytes by dynamic logic for all the runs>",
            "queryCount"          : "<total number of queries started while running the dynamic logic>",
            "retrievedRowsCount"  : "<total number of rows retrieved for all the queries run while running the dynamic logic>",
            "maxResultSetSize"    : "<highest number of rows retrieved among all the queries run>",
            "averageRowsCount"    : "<average number of rows retrieved while running the dynamic logic>",

        }
    ]
}

Possible return statuses:

  • 200: The dynamic logic statistics does exist.

  • 204: The dynamic logic statistics does not exist.

Retrieve Statistics Ordered By Total Run Count

To retrieve statistics ordered by the total run count of the dynamic logic, use the following GET call:

http://<host>:<port>/<context-root>/dynamiclogicstatistics/executions

This call retrieves the dynamic logic statistics ordered by total number of runs per dynamic logic code. The request parameters and response are same as described in the previous section. The only difference is the ordering. The response now contains the statistics in descending order of total number of runs per dynamic logic code.

Retrieve Statistics Ordered By Total Allocated Memory

To retrieve statistics ordered by total allocated memory, use the following GET call:

http://<host>:<port>/<context-root>/dynamiclogicstatistics/allocatedmemory

This call retrieves the dynamic logic statistics ordered by total allocated memory per dynamic logic code. The optional request parameter numberOfResults controls the number of results to be returned. When not specified, 10 results are returned.

The top N of allocated memory with the highest total allocated memory is returned in descending order. The response is same as described in the previous section.

Possible return statuses:

  • 200: The dynamic logic statistics does exist.

  • 204: The dynamic logic statistics does not exist.

Retrieve Statistics Ordered By Retrieved Rows Count

To retrieve statistics ordered by retrieved rows count, use the following GET call:

http://<host>:<port>/<context-root>/dynamiclogicstatistics/retrievedrows

This call retrieves the dynamic logic statistics ordered by retrieved rows count per dynamic logic code. The optional request parameter numberOfResults controls the number of results to be returned. When not specified, 10 results are returned.

The top N of retrieved rows with the highest retrievedRowCount is returned in descending order. The response is same as described in the previous section.

Possible return statuses:

  • 200: The dynamic logic statistics does exist.

  • 204: The dynamic logic statistics does not exist.

Retrieve Statistics for a Single Dynamic Logic

To retrieve statistics for a single dynamic logic, use the following GET call:

http://<host>:<port>/<context-root>/dynamiclogicstatistics/{dynamicLogicCode}

This call retrieves the dynamic logic statistics for the given dynamic logic code. The response is same as described in the previous section.

Possible return statuses:

  • 200: The dynamic logic code does exist.

  • 404: The dynamic logic code does not exist.

    • This status is also used if the dynamic logic code did not run.

Reset Statistics

To clear all the existing statistics and reset them, use POST call with the resource linked via rel "dynamiclogicstatistics/reset". The system does not return a response. The status is 204.