Giter VIP home page Giter VIP logo

Comments (10)

henrka avatar henrka commented on July 20, 2024 2

@mdebarros and @elnyry-sam-k, as there have been no more comments regarding the change request, can you please go ahead and make a solution proposal containing the actual changes to the specification?

from mojaloop-specification.

jmssebunnya avatar jmssebunnya commented on July 20, 2024 1

from mojaloop-specification.

henrka avatar henrka commented on July 20, 2024 1

Thank you @mdebarros.

I'm OK with adding the W3C trace headers to the FSPIOP API as optional headers, making these the recommended way of adding traces. I don't want to make them mandatory to implement as would be the implication of the following part:

Participants are not required to do any additional processing of these tracing headers, but at a minimum, they should forward the tracing headers as part of FSPIOP call-back. This will ensure that there is an unbroken transactional trace from the switch to the FSP.

The FSPIOP API is a generic standard which could be used in a scheme where another Switch than the Mojaloop switch is used, or in a bilateral setup without a Switch, which is why I do not want these headers to be mandatory in the API. It should rather be the scheme rules that decides that these trace headers must be used within the scheme. Some schemes might choose to use other tracing mechanisms, or none at all. There should not be a requirement on implementers of the API to support them if they will not be used within a scheme as they are in no way required for the API to work.

Kind regards,
Henrik

from mojaloop-specification.

jmssebunnya avatar jmssebunnya commented on July 20, 2024 1

from mojaloop-specification.

elnyry-sam-k avatar elnyry-sam-k commented on July 20, 2024 1

Thanks @ehenrka , @jmssebunnya - agree with you; the goal is to add these to the Spec as optional and let Schemes decide on whether to make them required for that Scheme or not

from mojaloop-specification.

elnyry-sam-k avatar elnyry-sam-k commented on July 20, 2024 1

Thanks @ehenrka , sure

from mojaloop-specification.

henrka avatar henrka commented on July 20, 2024

I have proposed in the last SIG meetings to add the optional HTTP headers for tracing support to the existing version 1.1 of the API. This suggestion is related to my approved suggestion back in 2019 (email subject Open API for FSPIOP: Versioning of document and resources), where we decided to separate the document version and versions for different resources in the API.

As the tracing HTTP headers (traceparent, tracestate) are optional and does not need to be handled if they are received by an FSP, we should be able to safely add them to a new patch document version (1.1.1) of the API Definition document without any impact for existing implementations. There will be no changes to any of the resources of the API.

The suggestion then is to:

  • Create a new table in Section 3.2.1.1 (HTTP Request Header Fields) to describe optional HTTP header fields, as the current Table 1 only describes HTTP headers that must be implemented.
  • Add tracing HTTP headers (traceparent, tracestate) to the new table for optional HTTP headers and add reference to the Distributed Tracing Support for OpenAPI Interoperability document for detailed information.
  • Update document version to new patch version 1.1.1, describe changes in Section 1.2

from mojaloop-specification.

elnyry-sam-k avatar elnyry-sam-k commented on July 20, 2024

Thanks Henrik (@ehenrka ) for the recommendations. We should be able to implement these and conclude this issue

from mojaloop-specification.

henrka avatar henrka commented on July 20, 2024

Please review #95, which contains the changes described in #71 (comment).

from mojaloop-specification.

henrka avatar henrka commented on July 20, 2024

Closing as supported since version 1.1.1

from mojaloop-specification.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.