Provided by: libmongoc-doc_1.26.0-1.1ubuntu2_all bug

TROUBLESHOOTING CHECKLIST

       The following is a short list of things to check when you have a problem.

       • Did you call mongoc_init() in main()? If not, you will likely see a segfault.

       • Have you leaked any clients or cursors as can be found with mongoc-stat <PID>?

       • Have packets been delivered to the server? See egress bytes from mongoc-stat <PID>.

       • Does  ASAN  show  any  leaks?  Ensure  you  call mongoc_cleanup() at the end of your process to cleanup
         lingering allocations from the MongoDB C driver.

       • If compiling your own copy of MongoDB C Driver, consider using the cmake option -DENABLE_TRACING=ON  to
         enable function tracing and hex dumps of network packets to STDERR and STDOUT.

PERFORMANCE COUNTERS

       The  MongoDB  C  Driver  comes  with  an  optional  and  unique  feature to help developers and sysadmins
       troubleshoot problems in production.  Performance counters are available for each  process  using  the  C
       Driver.   If  available,  the  counters  can  be accessed outside of the application process via a shared
       memory segment.  The counters may be used graph statistics about your  application  process  easily  from
       tools  like  Munin  or  Nagios.  For example, the command watch --interval=0.5 -d mongoc-stat $PID may be
       used to monitor an application.

       Performance counters are only available on Linux platforms and macOS arm64 platforms that support  shared
       memory segments.  On supported platforms, they are enabled by default.  Applications can be built without
       the  counters  by  specifying  the  cmake option -DENABLE_SHM_COUNTERS=OFF.  Additionally, if performance
       counters are already compiled, they can be disabled at runtime by  specifying  the  environment  variable
       MONGOC_DISABLE_SHM.

       Performance counters keep track of the following:

       • Active and Disposed Cursors

       • Active and Disposed Clients, Client Pools, and Socket Streams.

       • Number of operations sent and received, by type.

       • Bytes transferred and received.

       • Authentication successes and failures.

       • Number of wire protocol errors.

       NOTE:
          An  operation  is  considered "sent" when one or more bytes of the corresponding message is written to
          the stream, regardless of whether the entire message is  successfully  written  or  if  the  operation
          ultimately  succeeds  or  fails.   This  does  not include bytes that may be written during the stream
          connection process, such as TLS handshake messages.

       To access counters for a given process,  simply  provide  the  process  id  to  the  mongoc-stat  program
       installed with the MongoDB C Driver.

          $ mongoc-stat 22203
             Operations : Egress Total        : The number of sent operations.                    : 13247
             Operations : Ingress Total       : The number of received operations.                : 13246
             Operations : Egress Queries      : The number of sent Query operations.              : 13247
             Operations : Ingress Queries     : The number of received Query operations.          : 0
             Operations : Egress GetMore      : The number of sent GetMore operations.            : 0
             Operations : Ingress GetMore     : The number of received GetMore operations.        : 0
             Operations : Egress Insert       : The number of sent Insert operations.             : 0
             Operations : Ingress Insert      : The number of received Insert operations.         : 0
             Operations : Egress Delete       : The number of sent Delete operations.             : 0
             Operations : Ingress Delete      : The number of received Delete operations.         : 0
             Operations : Egress Update       : The number of sent Update operations.             : 0
             Operations : Ingress Update      : The number of received Update operations.         : 0
             Operations : Egress KillCursors  : The number of sent KillCursors operations.        : 0
             Operations : Ingress KillCursors : The number of received KillCursors operations.    : 0
             Operations : Egress Msg          : The number of sent Msg operations.                : 0
             Operations : Ingress Msg         : The number of received Msg operations.            : 0
             Operations : Egress Reply        : The number of sent Reply operations.              : 0
             Operations : Ingress Reply       : The number of received Reply operations.          : 13246
                Cursors : Active              : The number of active cursors.                     : 1
                Cursors : Disposed            : The number of disposed cursors.                   : 13246
                Clients : Active              : The number of active clients.                     : 1
                Clients : Disposed            : The number of disposed clients.                   : 0
                Streams : Active              : The number of active streams.                     : 1
                Streams : Disposed            : The number of disposed streams.                   : 0
                Streams : Egress Bytes        : The number of bytes sent.                         : 794931
                Streams : Ingress Bytes       : The number of bytes received.                     : 589694
                Streams : N Socket Timeouts   : The number of socket timeouts.                    : 0
           Client Pools : Active              : The number of active client pools.                : 1
           Client Pools : Disposed            : The number of disposed client pools.              : 0
               Protocol : Ingress Errors      : The number of protocol errors on ingress.         : 0
                   Auth : Failures            : The number of failed authentication requests.     : 0
                   Auth : Success             : The number of successful authentication requests. : 0

SUBMITTING A BUG REPORT

       Think  you've  found  a bug? Want to see a new feature in the MongoDB C driver? Please open a case in our
       issue management tool, JIRA:

       • Create an account and login.

       • Navigate to the CDRIVER project.

       • Click Create Issue - Please provide as much information as possible about the issue  type  and  how  to
         reproduce it.

       Bug  reports  in  JIRA  for  all  driver  projects (i.e. CDRIVER, CSHARP, JAVA) and the Core Server (i.e.
       SERVER) project are public.

AUTHOR

       MongoDB, Inc

COPYRIGHT

       2017-present, MongoDB, Inc

1.26.0                                            Mar 31, 2024                   MONGOC_BASIC_TROUBLESHOOTING(3)