Uploaded image for project: 'Couchbase Python Client Library'
  1. Couchbase Python Client Library
  2. PYCBC-482

add tracing context to timeout response

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 2.4.0-beta, 2.4.0-beta2
    • 2.4.0
    • library
    • None

    Description

      Per the sdk-rfc for response time observability, any timeout value must return context on the operation like the timeout value specified, type of operation, correlation identifier, etc. We didn't get this in to beta.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          ingenthr Matt Ingenthron created issue -
          ingenthr Matt Ingenthron made changes -
          Field Original Value New Value
          Epic Link CBD-2230 [ 77742 ]
          Ellis.Breen Ellis Breen made changes -
          Status New [ 10003 ] Open [ 1 ]
          Ellis.Breen Ellis Breen made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Ellis.Breen Ellis Breen added a comment -

          I've added code to 'snapshot' span info including ID into a result object, and to trigger this whenever an error is raised in a callback, via the 'maybe_push_operr' function, here:

          https://github.com/couchbase/couchbase-python-client/blob/c6e25f42ecb5d280988e103389275e6ab2487e6e/src/callbacks.c#L76

          This sets the mres->errop value which is read when decoding an exception, here:

          https://github.com/couchbase/couchbase-python-client/blob/c6e25f42ecb5d280988e103389275e6ab2487e6e/src/multiresult.c#L309

          I've also set it to always snapshot span info to a result within get_common_objects, for good measure.

          The info is provided as a 'tracing_output' attribute on the Result object, which is a list of spans. In the 'tags' field of each of these are listed an id and a child_of id.

          These should correlate with the span IDs provided by the Threshold Logging Tracer.

          Ellis.Breen Ellis Breen added a comment - I've added code to 'snapshot' span info including ID into a result object, and to trigger this whenever an error is raised in a callback, via the 'maybe_push_operr' function, here: https://github.com/couchbase/couchbase-python-client/blob/c6e25f42ecb5d280988e103389275e6ab2487e6e/src/callbacks.c#L76 This sets the mres->errop value which is read when decoding an exception, here: https://github.com/couchbase/couchbase-python-client/blob/c6e25f42ecb5d280988e103389275e6ab2487e6e/src/multiresult.c#L309 I've also set it to always snapshot span info to a result within get_common_objects, for good measure. The info is provided as a 'tracing_output' attribute on the Result object, which is a list of spans. In the 'tags' field of each of these are listed an id and a child_of id. These should correlate with the span IDs provided by the Threshold Logging Tracer.
          Ellis.Breen Ellis Breen made changes -
          Fix Version/s 2.4.1 [ 15210 ]
          Fix Version/s 2.4.0-beta2 [ 15111 ]
          Ellis.Breen Ellis Breen made changes -
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Resolved [ 5 ]
          brett19 Brett Lawson made changes -
          Story Points 1

          People

            Ellis.Breen Ellis Breen
            ingenthr Matt Ingenthron
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty