oData Service Statistics Test

SAP NetWeaver Gateway is used to setup a connection between SAP business suite and target clients, platforms and framework. It offers development and generation tools to create OData services to different client development tools. OData is used to define best practices that are required to build and consume RESTful APIs. It helps you to find out changes, defining functions for reusable procedures and sending batch requests etc.

The OData service life cycle includes span of an OData service. Given below are the key steps to be considered in an OData Service Life Cycle.

  • Activation of OData service.
  • Maintaining OData service.
  • Maintaining of models and services, up to the cleanup of the metadata cache.
  • RESTful applications use HTTP requests to post data to create or update, read data and delete data. REST uses HTTP for all four CRUD (Create/Read/Update/Delete) operations.
  • REST is a lightweight alternative to mechanisms like RPC (Remote Procedure Calls) and Web Services.

In environments where SAP applications are extensively in use, users may access the applications via SAP Fiori and the SAP Netweaver Gateway using OData services. If the method invoked by a OData service fails or takes too long to connect to the applications for the requests initiated by the users, then, the user experience to those applications may be adversely affected. To improve the user experience, it is necessary for the administrators to constantly keep a vigil on the functioning of the OData services. For this purpose, eG Enterprise offers an oData Service Statistics test. Using this test administrators can figure out where exactly does each oData Service method stagger - is it during the backend wait time? or Application sum time? or Application processing time? Administrators are also alerted to the device (mobile/tablet/desktop) through which users have initiated the maximum number of requests. Using this test, administrators can figure out which operation was being frequently performed by each method of the OData service - is it the read property? or read feed? or metadata? or batch operations? or create?

Target of the test : A SAP ABAP System

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each Namespace: Service name: OData Service Method invoked by the SAP user on the target SAP ABAP System being monitored.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed

Host

Host name of the server for which the test is to be configured.

Port

Enter the port to which the specified host listens.

Application Server

For the eG agent to connect to the target SAP ABAP System and collect metrics, this test should be configured with the IP address of any of the SAP ABAP Instances associated with the target SAP ABAP System. Specify such IP address in this text box.

ClientName

Specify the ID of the client system as what the eG agent will be connecting to the SAP ABAP instance. To know how to determine the client ID to use, follow the instructions provided in Determining the Client ID/Name for the eG Agent to Connect to the SAP ABAP Instance.

SAPUser

Typically, to connect to a SAP ABAP instance and run tests, the eG agent requires the permissions of a SAP user who has been assigned with certain authorization objects. Ideally, you will have to create a new user role on the SAP ABAP instance for this purpose, associate the above-mentioned authorization objects with that role, and assign the new role to an existing SAP user. The procedure for the same has been provided in Creating a New User Role for Monitoring and Assigning it to a SAP User. Once the new role is assigned to a SAP user, specify the name of this user against SAPUser.

Password

The password of the specified SAPUser.

Confirm Password

Confirm the password by retyping it here.

SysNo

An indicator of the TCP/IP port at which the SAP server listens. For example, for a server that listens at port 3200, the SysNo will be ‘00’. Similarly, if the SAP server port is 3201, the SysNo will have to be specified as ‘01’. Therefore, in the SysNo text box specify the system number of the SAP server with which the specified client communicates. To know the system number for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number.

Router

If the SAP client with the specified ClientName exists in a network external to the SAP server, then a router will be used to enable the server-client communication. In such a case, specify the router string of the router in the Router text box. If both the client and the server exist in the same network, then specify ‘none’ against the Router text box. To know what is the SAP Router string for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number.

InstanceName

This is set to none by default. This implies that the eG agent automatically discovers the instance name at run time. 

Timeout

Indicate the duration (in seconds) for which this test should wait for a response from the SAP ABAP instance. By default, this is set to 120 seconds.

JCO Version

The eG agent uses the SAP JCO library to connect to the SAP ABAP system and pull out metrics. To enable the eG agent to make this connection and query the metrics, you need to specify the version of the SAP JCO library that the agent needs to use. For instance, to instruct the eG agent to use JCO v2.1.19, it would suffice if you specify the ‘major version number’ alone against JCO Version – in the case of this example, this will be 2.x. Note that if you have downloaded the SAP JCO CONNECTOR files for SAP JCO version 3 from the SAP market place (as instructed by Downloading the SAP JCO Connector files Required for Monitoring ), then the JCO Version configuration should be 3.x. 

Include Services

By default, this parameter is set to none. If you wish to include only a few methods of the oData service in the scope of monitoring, then, specify a comma-separated list of methods in this text box. The default format for specifying a method is <Namespace>#<Service name>#<oData Service Method>. For example, a method can be specified as /UI2/#INTEROP#FeedbackLegalTextCollection. You can even include specific patterns in this text box. For example: /UI/#INT*,*INTER*, *#INTEROP# FeedbackLegal*

Exclude Services

By default, this parameter is set to none. If you wish to exclude a few methods of the oData service from the scope of monitoring, then, specify a comma-separated list of methods in this text box. The default format for specifying a method is <Namespace>#<Service name>#<oData Service Method>. For example, a method can be specified as /UI2/#INTEROP#FeedbackLegalTextCollection. You can even include specific patterns in this text box. For example: /UI/#INT*,*INTER*, *#INTEROP# FeedbackLegal*

Response Time

By default, this test is capable of pulling out metrics from the target SAP ABAP System irrespective of the number of OData Service requests processed. However, in some environments where large number of requests are processed per minute, the eG backend database may not be able to store such voluminous data. To avoid overheads to the eG backend database, administrators can set a desired value against this parameter. This will ensure that the eG agent collects metrics only for those OData Service requests that returned a response with a time limit (specified in MilliSeconds) greater than the value configured against this parameter.

DD Frequency

Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD frequency.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Total response time

Indicates the total response time for all requests initiated for this method by the user during the last measurement period.

Millisenconds/request

For each odata service method, the detailed diagnosis of this measure lists the top 5 slow requests for which the response time was slower than usual. For each slow request, the detailed diagnosis lists the Namespace, Service, Entity type, Timestamp, Request address, Operation, Batch operation, Overall response time, Application time, Application Processing time, Framework time, Hub Overhead time, Backend overhead time, RFC overhead time, Request size, Response size ,Entries, Device, Client, Format, Consumer, Version and ID.

Backend wait time

Indicates the time taken by the SAP gateway framework to wait for the work process or operation to finish for the requests initiated for this method by the user during the last measurement period.

Milliseconds/Request

 

Application sum time

Indicates the time consumed for implementation of the SAP gateway service implementation in multiple operations (batch) for the requests initiated for this method by the user during the last measurement period.

Milliseconds/request

 

Total requests

Indicates the total number of requests initiated for this method by the user during the last measurement period.

Number

Compare the value of this measure across the users to figure out the user who has initiated the maximum number of requests.

Request rate

Indicates the number of requests initiated by this user per minute.

Requests/min

 

Request size

Indicates the total size of each request initiated for this method by the user during the last measurement period.

KB/request

 

Response size

Indicates the size of the response received for each request initiated for this method by the user during the last measurement period.

KB/request

 

Entry rate

Indicates the number of entries recorded per request initiated for this method by the user during the last measurement period.

Entries/request

 

Framework time

Indicates the time spent at the SAP gateway framework by each request initiatedfor this method by the user during the last measurement period.

Milliseconds/request

 

Application time

Indicates the time consumed for implementation of the SAP gateway service for the requests initiated for this method by the user during the last measurement period.

Milliseconds/request

 

Application processing time

Indicates the time consumed by components other than SAP Gateway (e.g. RAL, Excel-format) for the requests initiated for this method by the user during the last measurement period.

Milliseconds/request

 

Framework overhead

Indicates the ratio of framework time and the total requests initiated for this method by the user, expressed in percentage.

Percentage

 

Backend time

Indicates the time spent by the requests initiated for this method by the user at Gateway framework in the backend during the last measurement period.

Milliseconds/request

 

RFC overhead time

Indicates the time spent by the RFC requests initiatedfor this method by the user on the network between the hub and the backend.

Milliseconds/request

 

Hub overhead time

Indicates the time spent by the requests initiated for this method by the user at Gateway framework on the hub system.

Milliseconds/request

 

Mobile requests

Indicates the number of requests initiated for this method by the user through mobile device.

Requests

Compare the value of this measure across users to figure out the user who is initiating maximum number of requests through mobile device.

 

Mobile request rate

Indicates the rate at which requests were initiated for this method by the user through mobile device.

Requests/min

Tablet requests

Indicates the number of requests initiated for this method by the user through Tablet.

Requests

Compare the value of this measure across users to figure out the user who is initiating the maximum number of requests through Tablet.

 

Tablet request rate

Indicates the rate at which requests were initiated for this method by the user through Tablet.

Requests/min

Desktop requests

Indicates the number of requests initiated for this method by the user through desktop.

Requests

Compare the value of t his measure across users to figure out the user who is initiating the maximum number of requests through desktop.

Desktop request rate

Indicates the rate at which requests were initiated for this method by the user through desktop.

Requests/min

 

Read property operation rate

Indicates the number of read property operations performed per minute for the requests initiated for this method by the user during the last measurement period.

Operations/min

 

Read feed operations rate

Indicates the number of read feed operations performed per minute for the requests initiated for this method by the user during the last measurement period.

Operations/min

 

Read entry operations rate

Indicates the number of read entry operations performed per minute for the requests initiated for this method by the user during the last measurement period.

Operations/min

 

Metadata operations rate

Indicates the number of metadata operations performed per minute for the requests initiated for this method by the user during the last measurement period.

Operations/min

An OData metadata document is a representation of the data model that describes the data and operations exposed by an OData service.

function operations rate

Indicates the number of function operations performed per minute for the requests initiated for this method by the user during the last measurement period.

Operations/min

 

document operations rate

Indicates the number of document operations performed per minute for the requests initiated for this method by the user during the last measurement period.

Operations/min

 

create operations rate

Indicates the number of create operations performed per minute for the requests initiated for this method by the user during the last measurement period.

Operations/min

 

batch operations rate

Indicates the number of batch operations performed per minute for the requests initiated for this method by the user during the last measurement period.

Operations/min

An OData batch request is represented as a multipart MIME v1.0 message, a standard format allowing the representation of multiple parts, each of which may have a different content type, within a single request.

Batch requests allow grouping of multiple operations into a single HTTP request payload.

other operations rate

Indicates the number of other operations performed per minute for the requests initiated for this method by the user during the last measurement period.

Operations/min