Replies: 2 comments 8 replies
-
|
@lbroudoux, @yada what are your thoughts on this idea? |
Beta Was this translation helpful? Give feedback.
-
I totally understand your about "details page", it's a valid point, but personally, I feel that moving "Live traces" to a separate page might degrade the overall user experience, as it introduces more navigation steps and breaks the flow of service exploration. What do you think about keeping it within the service details page, but using a collapsible accordion or a tab to display the trace data? That way, when "Live trace" is selected, we could show spans and traces while temporarily hiding other sections like "Dispatching properties" and "Mock". I believe this feature adds value, but you need to be careful not to reimplement full observability tooling inside Microcks. When external observability integration is enabled, we could consider redirecting users to the UI of the observability tool instead of displaying traces directly in Microcks. I think it's really valuable that Microcks show a trace ID (W3C compliant). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Currently, when working with Microcks, it can be challenging to understand why a request was matched (or not matched) and to debug issues during dispatching.
This leads to several pain points:
Related issues:
Example Use Case
Imagine a service that calls multiple mocked dependencies through Microcks. If one of those dependencies is not mocked in Microcks, today there is no simple way to identify this missing mock. From the UI, it’s not obvious which requests were received, which were matched, and which were ignored or failed. Developers are forced to inspect backend logs to track down the problem.
Another example would be if we are using SCRIPTS. In the
Dispatcherscripts we do have ways to log, but these are not yet surfaced in a user-friendly way through the Microcks UI.Proposal
Introduce a Request Explanation / Debug Panel within Microcks, supported by a lightweight per-request tracing system, that would:
Analogy: In SQL, the
EXPLAINcommand allows developers to understand how a query is executed by showing the query plan. Similarly, Microcks could provide an EXPLAIN for requests, showing how the engine tried to match the request, which rules or dispatchers were applied, and why a particular response (or no response) was selected.Possible Implementation Direction
One option would be to leverage OpenTelemetry for this per-request tracing:
I have already done an exploratory POC using OpenTelemetry tracing, which you can see in this short demo video
https://www.youtube.com/watch?v=BmjMDK4pUIQ
The code for this exploration is available here: StartUpNationLabs/microcks – tracing branch. But this is for demonstration purposes only, the code is not pretty xD
Beta Was this translation helpful? Give feedback.
All reactions