Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-1204

Easier debugging with standardized logging

    XMLWordPrintable

Details

    • Epic
    • Status: Designing
    • Major - P3
    • Resolution: Unresolved
    • Logging
    • None
    • Needed
    • 8
    • 4
    • 8
    • Hide

      Engineer: Kaitlin Mahar
      Summary: The goal of this project is to define a default set of debug logging messages that drivers should produce, and a standardized, trivial mechanism drivers should support for enabling, disabling, and configuring debug logging.

       2022-06-14:

      • Drafted some command logging tests; got corresponding test runner changes implemented and tests passing in Rust. TBD if proposed tests will be feasible for drivers doing unstructured logging - will determine this via a Java POC
      • Next going to try implementing log messages for a couple more specs (SDAM, CMAP) to see if there are any considerations we've missed with command messages.

      2022-06-10: Have made a small amount of progress on drafting tests and Rust test runner changes needed to run them. Not incrementing cost as only 1-2 days were spent on this


      2022-05-27: Converted command monitoring tests to the unified format. Started on logging assertions to tests.


      2022-05-12: Initial implementation of command logging in RUST is almost complete, shifting focused to testing.


      2022-04-22: Project was on hold as Kaitlin was focused on other priority tasks.


      2022-04-19: Kaitlin is working on a first implementation of the spec and logging command messages in Rust.


      2022-04-01: Kaitlin resuming this project with a future implementation in RUST.


      Lead: Jeff Yemin
      Author: Kaitlin Mahar

      2021-01-12:

      • On Pause. We’ll revisit priority in our QP prep meeting on 1/15

      2020-12-22:

      • No new updates. Kaitlin OOO from 12/21 - 1/3.

      2020-12-15:

      • Still on pause. Kaitlin spent the last few weeks wrapping up the work for unified test runner in Swift, working on a design for Nataly’s rotation project, and getting ramped up on Node.
      • She’ll be OOO from 12/21 - 01/3 and will pick this up after coming back.
      Show
      Engineer: Kaitlin Mahar Summary: The goal of this project is to define a default set of debug logging messages that drivers should produce, and a standardized, trivial mechanism drivers should support for enabling, disabling, and configuring debug logging.  2022-06-14: Drafted some command logging tests; got corresponding test runner changes implemented and tests passing in Rust. TBD if proposed tests will be feasible for drivers doing unstructured logging - will determine this via a Java POC Next going to try implementing log messages for a couple more specs (SDAM, CMAP) to see if there are any considerations we've missed with command messages. 2022-06-10: Have made a small amount of progress on drafting tests and Rust test runner changes needed to run them. Not incrementing cost as only 1-2 days were spent on this 2022-05-27: Converted command monitoring tests to the unified format. Started on logging assertions to tests. 2022-05-12: Initial implementation of command logging in RUST is almost complete, shifting focused to testing. 2022-04-22: Project was on hold as Kaitlin was focused on other priority tasks. 2022-04-19: Kaitlin is working on a first implementation of the spec and logging command messages in Rust. 2022-04-01: Kaitlin resuming this project with a future implementation in RUST. Lead: Jeff Yemin Author: Kaitlin Mahar 2021-01-12: On Pause. We’ll revisit priority in our QP prep meeting on 1/15 2020-12-22: No new updates. Kaitlin OOO from 12/21 - 1/3. 2020-12-15: Still on pause. Kaitlin spent the last few weeks wrapping up the work for unified test runner in Swift, working on a design for Nataly’s rotation project, and getting ramped up on Node. She’ll be OOO from 12/21 - 01/3 and will pick this up after coming back.

    Description

      Epic Summary

      Summary

      A common complaint from our support team is that they don't know how to get debugging information out of drivers. Some drivers provide debug logging for this purpose, others do not. For drivers that do provide it, the log messages produced and the mechanisms for enabling debug logging are not consistent.

      The goal of this project is to define a default set of debug logging messages that drivers should produce, and a standardized, trivial mechanism drivers should support for enabling, disabling, and configuring debug logging. This will provide TSEs, CEs and users an easy way to get debugging information out of our drivers. Each driver should additionally provide easily discoverable documentation on how to enable logging and what features are provided.

      The key idea here is to provide consistency across drivers, making it easier to support all drivers and far easier to document how to debug specific issues.

      Cast of Characters

      Lead: Jeff Yemin
      Author: Kaitlin Mahar
      POCs: Rust - Kaitlin, C# - Boris
      Product Owner: Rachelle Palmer

      Documentation

      Scope Document
      Technical Design Document

      Attachments

        Issue Links

          Activity

            People

              kaitlin.mahar@mongodb.com Kaitlin Mahar
              bernie@mongodb.com Bernie Hackett
              Kaitlin Mahar Kaitlin Mahar
              Rachelle Palmer Rachelle Palmer
              Martin Bajana Martin Bajana
              Votes:
              5 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated: