vrk-kpa / xroad-joint-development

Unmaintained repository. Development moved to: https://github.com/nordic-institute/X-Road-development
19 stars 8 forks source link

As a Security Server Administrator I want to understand, how long it takes to send request and to receive response over the network #182

Closed ToomasMolder closed 6 years ago

ToomasMolder commented 6 years ago

Affected components: Security Server opmonitoring Affected documentation: https://github.com/ria-ee/X-Road/blob/develop/doc/OperationalMonitoring/Protocols/pr-opmon_x-road_operational_monitoring_protocol_Y-1096-2.md#annex-b-json-schema-for-payload-of-getsecurityserveroperationaldata-response Estimated delivery: - External reference: -

Problem Noticed, that in many cases, when X-Road service call was made within the same Security Server (Client = Producer), the timesamp of Producer Security Server requestInTs is less than the timestamp of Client Security Server requestOutTs (seems like request receiver earlier than it was sent out). And the timesamp of Client Security Server responseInTs is less than the timestamp of Producer Security Server responseOutTs (seems like response received earlier than it was sent out). Within the same Security Server (Client = Producer) means, that there must be no time synchronization problem between Security Servers.

Sample: {"clientMemberClass":"GOV","clientMemberCode":"00000001","clientSecurityServerAddress":"xtee9.ci.kit","clientSubsystemCode":"Central monitoring client","clientXRoadInstance":"XTEE-CI-XM","messageId":"020215a9-9d21-4d10-bf24-4352486a2512","messageProtocolVersion":"4.0","monitoringDataTs":1503387675,"requestAttachmentCount":0,"requestInTs":1503387675556,"requestOutTs":1503387675558,"requestSoapSize":1413,"responseAttachmentCount":0,"responseInTs":1503387675716,"responseOutTs":1503387675725,"responseSoapSize":7486,"securityServerInternalIp":"10.0.24.140","securityServerType":"Client","serviceCode":"getSecurityServerHealthData","serviceMemberClass":"GOV","serviceMemberCode":"00000001","serviceSecurityServerAddress":"xtee9.ci.kit","serviceXRoadInstance":"XTEE-CI-XM","succeeded":true} {"clientMemberClass":"GOV","clientMemberCode":"00000001","clientSecurityServerAddress":"xtee9.ci.kit","clientSubsystemCode":"Central monitoring client","clientXRoadInstance":"XTEE-CI-XM","messageId":"020215a9-9d21-4d10-bf24-4352486a2512","messageProtocolVersion":"4.0","monitoringDataTs":1503387675,"requestAttachmentCount":0,"requestInTs":1503387675610,"requestOutTs":1503387675654,"requestSoapSize":1413,"responseAttachmentCount":0,"responseInTs":1503387675666,"responseOutTs":1503387675722,"responseSoapSize":7486,"securityServerInternalIp":"10.0.24.140","securityServerType":"Producer","serviceCode":"getSecurityServerHealthData","serviceMemberClass":"GOV","serviceMemberCode":"00000001","serviceSecurityServerAddress":"xtee9.ci.kit","serviceXRoadInstance":"XTEE-CI-XM","succeeded":true}

Here { "securityServerType":"Client", "responseInTs":1503387675716 } < { "securityServerType":"Producer", "responseOutTs":1503387675722 }

It seems according to: https://github.com/ria-ee/X-Road/blob/develop/src/addons/op-monitoring/src/main/java/ee/ria/xroad/proxy/serverproxy/OpMonitoringServiceHandlerImpl.java#L144 and
https://github.com/ria-ee/X-Road/blob/develop/src/addons/op-monitoring/src/main/java/ee/ria/xroad/proxy/serverproxy/OpMonitoringServiceHandlerImpl.java#L152 that:

Please confirm, that this is the case. If yes, please clarify also in documentation https://github.com/ria-ee/X-Road/blob/develop/doc/OperationalMonitoring/Protocols/pr-opmon_x-road_operational_monitoring_protocol_Y-1096-2.md#annex-b-json-schema-for-payload-of-getsecurityserveroperationaldata-response

Please review the reasonability and possibility to realize in a way that the same logic is followed to log timestamps when sending out and when receiving in the package. Operational monitoring has to be able to answer to the administrator question, how long it took to send out request (over the network) and how long it took to receive response (over the network). When using different logic of timestamps, it is nearly impossible.

Acceptance criteria

ToomasMolder commented 6 years ago

Without explanation or fix, message monitoring / operational monitoring might report negative intervals for performance.

petkivim commented 6 years ago

Transferred to X-Road Service Desk as an enhancement request.