Rework logging timer #24923

pull maflcko wants to merge 2 commits into bitcoin:master from maflcko:2204-log-time-📬 changing 7 files +32 −52
  1. maflcko commented at 4:06 PM on April 19, 2022: member

    The logging timer has many issues:

    • The underlying clock is mockable, meaning that benchmarks are useless when mocktime was set at the beginning or end of the benchmark.
    • The underlying clock is not monotonic, meaning that benchmarks are useless when the system time was changed during the benchmark.
    • The precision is set at compile time, meaning that benchmarks are useless when the precision isn't fine enough to cover the duration. Also, if the precision is too fine, benchmarks will be confusing and pretend a precision that doesn't exist. I think at best a relative precision of 1% can be assumed. There is one argument for a fixed precision, as it makes debug log parsers slightly easier.

    Fix all issues in this patch.

  2. maflcko commented at 4:17 PM on April 19, 2022: member

    For testing ./src/test/test_bitcoin -t logging_tests -- DEBUG_LOG_OUT may be useful.

  3. jonatack commented at 4:22 PM on April 19, 2022: contributor

    Interesting, I'm curious what the lock logging will look like with variable units.

  4. DrahtBot commented at 4:52 PM on April 19, 2022: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Concept ACK ajtowns, fanquake
    Approach ACK jonatack

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #25284 ([WIP] consensus: Remove dependency on net (BIP 155 / ADDRV2_FORMAT) by MarcoFalke)
    • #24034 (p2p: delete anchors.dat after trying to connect to that peers by brunoerg)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  5. DrahtBot added the label P2P on Apr 19, 2022
  6. DrahtBot added the label RPC/REST/ZMQ on Apr 19, 2022
  7. DrahtBot added the label Utils/log/libs on Apr 19, 2022
  8. DrahtBot added the label Validation on Apr 19, 2022
  9. in src/logging/timer.h:72 in fa1d6989a7 outdated
      78 | +            return strprintf("%s: %s (%.2fs)", m_prefix, msg, CountSecondsDouble(dur));
      79 | +        }
      80 | +        if (dur > 1ms) {
      81 | +            return strprintf("%s: %s (%.2fms)", m_prefix, msg, CountMillisecondsDouble(dur));
      82 |          }
      83 | +        return strprintf("%s: %s (%.2fμs)", m_prefix, msg, CountMicrosecondsDouble(dur));
    


    jonatack commented at 7:07 PM on April 19, 2022:

    In the second commit, maybe inverse the order of the duration checks from the smallest unit to the largest.


    maflcko commented at 6:24 AM on April 20, 2022:

    Can you explain why?


    jonatack commented at 9:14 AM on April 20, 2022:

    In higher frequency timing logs like lock, the smaller units seem to be more frequent. Debug build on a slow system:

    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 started
    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 completed (253.02μs)
    2022-04-19T17:59:03Z [msghand] Enter: lock contention cs_main, net_processing.cpp:4196 started
    2022-04-19T17:59:03Z [msghand] Enter: lock contention cs_main, net_processing.cpp:4196 completed (14.28ms)
    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 started
    2022-04-19T17:59:03Z [scheduler] Enter: lock contention ::cs_main, validation.cpp:5151 started
    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 completed (157.08ms)
    2022-04-19T17:59:03Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5151 started
    2022-04-19T17:59:03Z [scheduler] Enter: lock contention ::cs_main, validation.cpp:5151 completed (24.14ms)
    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 started
    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 completed (10.48μs)
    2022-04-19T17:59:03Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5151 completed (7.92ms)
    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 started
    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 completed (5.57μs)
    2022-04-19T17:59:03Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5151 started
    2022-04-19T17:59:03Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5151 completed (85.71μs)
    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 started
    2022-04-19T17:59:03Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 completed (4.68μs)
    2022-04-19T17:59:03Z [msghand] Enter: lock contention m_mutex, random.cpp:416 started
    2022-04-19T17:59:03Z [msghand] Enter: lock contention m_mutex, random.cpp:416 completed (62.23μs)
    2022-04-19T17:59:03Z [msghand] Enter: lock contention cs_main, net_processing.cpp:4668 started
    2022-04-19T17:59:03Z [msghand] Enter: lock contention cs_main, net_processing.cpp:4668 completed (911.14μs)
    

    maflcko commented at 10:06 AM on April 20, 2022:

    I mean the order is intentional and it can not be changed without changing the behaviour of the code.


    ajtowns commented at 10:49 AM on April 20, 2022:

    I mean, you could invert both the logic and the order?

    if (dur <= 1ms) { /* microseconds */ }
    else if (dur <= 1s) { /* milliseconds */ }
    else { /* seconds */ }
    

    Doing one integer comparison instead of two prior to a printf seems like an amazing level of microoptimisation though...


    jonatack commented at 10:53 AM on April 20, 2022:

    It's new code anyway and low-hanging, so mentioned it.


    jonatack commented at 10:55 AM on April 20, 2022:

    And the existing code checks from small to large.


    ajtowns commented at 10:59 AM on April 20, 2022:

    How about changing

    strprintf("%s: %s (%.2fμs)", m_prefix, msg, CountMicrosecondsDouble(dur))
    

    to

    strprintf("%s: %s (%.5fms)", m_prefix, msg, CountMillisecondsDouble(dur))
    

    ? Then you'd see "10.23s", "10.23ms" and "0.01023ms" which might be easier to follow?


    jonatack commented at 11:04 AM on April 20, 2022:

    There aren't any in the sample above, but it's the big ones in seconds (s) that I find harder to pick out when eyeballing the mix (maybe because they are now smaller). The μs ones stand out pretty well to my eye. Sample with seconds:

    2022-04-19T17:58:03Z [net] Enter: lock contention m_nodes_mutex, net.cpp:1294 started
    2022-04-19T17:58:03Z [net] Enter: lock contention m_nodes_mutex, net.cpp:1294 completed (4.16μs)
    2022-04-19T17:58:03Z [opencon] Enter: lock contention m_nodes_mutex, net.cpp:366 started
    2022-04-19T17:58:03Z [opencon] Enter: lock contention m_nodes_mutex, net.cpp:366 completed (4.43μs)
    2022-04-19T17:58:03Z [net] Enter: lock contention m_nodes_mutex, net.cpp:1294 started
    2022-04-19T17:58:03Z [net] Enter: lock contention m_nodes_mutex, net.cpp:1294 completed (4.28μs)
    2022-04-19T17:58:03Z [opencon] Enter: lock contention cs_main, net_processing.cpp:1229 started
    2022-04-19T17:58:05Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5151 started
    2022-04-19T17:58:05Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 completed (12.17s)
    2022-04-19T17:58:05Z [opencon] Enter: lock contention cs_main, net_processing.cpp:1229 completed (2.23s)
    2022-04-19T17:58:05Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5151 completed (4.40ms)
    2022-04-19T17:58:05Z [scheduler] Enter: lock contention ::cs_main, validation.cpp:5151 completed (11.81s)
    2022-04-19T17:58:05Z [msghand] Enter: lock contention cs_main, validation.cpp:2906 started
    2022-04-19T17:58:05Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 started
    2022-04-19T17:58:05Z [msghand] Enter: lock contention cs_main, validation.cpp:2906 completed (558.78μs)
    2022-04-19T17:58:05Z [loadblk] Enter: lock contention cs_main, validation.cpp:4672 completed (735.17μs)
    

    ajtowns commented at 11:23 AM on April 20, 2022:

    Sorry, tangential, but: wouldn't it be better to log "foo.cpp:123 held the cs_main lock for 20 seconds" instead of "bar.cpp:456 was waiting for the cs_main lock for 20 seconds" ? In theory, you could then only report when some bit of code held a lock for an "unusually" long amount of time, and could do so even if no other thread happened to also want it... I just don't really see the point of a log entry for "m_nodes_mutex net.cpp:1294 (4.28μs)" -- that doesn't really seem like actionable information.


    martinus commented at 1:54 PM on April 22, 2022:

    I think it's valuable information to show who waited, because just holding a lock when nobody else needs it isn't an issue. But what I'd really like to see is who actually blocked someone else.

    I'd personally prefer exact timestamps from e.g. std::chrono::steady_clock in the best precision possible in the logs, then one could extract a lot of useful information from it. E.g. who actually blocked whom and for how long. It would then also be possible to generate input for e.g. chrome tracing which is a simple JSON format.


    maflcko commented at 11:54 AM on April 25, 2022:

    I disagree. If something took a short time, why would anyone care if it took 900 nanoseconds or 1700 nanoseconds? After all this isn't a microbenchmark and real world fluctuations are larger than nanosecond precision. Also, nanosecond precision didn't exist before, so introducing it can be done in a separate pull or a follow-up.

    Changing the content of the lock contention logging or chrome tracing also appear largely unrelated to a change to the formatting of durations in logs.

  10. jonatack commented at 7:10 PM on April 19, 2022: contributor

    Approach ACK, tested with lock logging and the unit test.

  11. maflcko removed the label RPC/REST/ZMQ on Apr 20, 2022
  12. maflcko removed the label P2P on Apr 20, 2022
  13. maflcko removed the label Validation on Apr 20, 2022
  14. maflcko commented at 6:44 AM on April 20, 2022: member

    Interesting, I'm curious what the lock logging will look like with variable units.

    I think for them it will actually be an improvement, as contention might happen for a short blink (a few microseconds) or, during a block connection, a bit longer (a few seconds).

  15. jonatack commented at 9:17 AM on April 20, 2022: contributor

    Interesting, I'm curious what the lock logging will look like with variable units.

    I think for them it will actually be an improvement, as contention might happen for a short blink (a few microseconds) or, during a block connection, a bit longer (a few seconds).

    Yes, the lock logging has a high variance in timing. See #24923 (review) for a test with this change. One downside is that it's more difficult to pick out the higher times by eyeballing the log with this change (similar to your point that "There is one argument for a fixed precision, as it makes debug log parsers slightly easier.") but still seems to be an improvement for the reasons in the OP.

  16. maflcko commented at 10:08 AM on April 20, 2022: member

    Yeah, I am happy to drop the second commit (or postpone it). Another thought would be to print the same value twice. The second time as %.9fs (nanoseconds statically formatted as double-seconds)

  17. ajtowns commented at 11:01 AM on April 20, 2022: contributor

    Concept ACK. Would be nice if there's some way to make it easier to notice the difference between millis and micros when scanning logs.

  18. maflcko force-pushed on Apr 20, 2022
  19. maflcko commented at 12:02 PM on April 20, 2022: member

    Thanks, I've reworked to make it easier for humans and scripts to parse the format.

    For example, 0.000011s means 11us, 0.010s means 10ms. I think a maximum error of 10% is fine, as we mostly only care about the exponent of the float in base 10.

  20. maflcko force-pushed on Apr 20, 2022
  21. jonatack commented at 2:16 PM on April 21, 2022: contributor

    First commit fa1d0f161f33634658 build error: ./logging/timer.h:69:63: error: use of undeclared identifier 'end_time'

    Sample of last push ddddf680b06e9 with lock logging:

    2022-04-21T14:01:49Z [msghand] Enter: lock contention connman.m_nodes_mutex, ./net.h:1223 started
    2022-04-21T14:01:49Z [msghand] Enter: lock contention connman.m_nodes_mutex, ./net.h:1223 completed (0.000004479s)
    2022-04-21T14:01:50Z [opencon] Enter: lock contention cs_main, net_processing.cpp:1229 started
    2022-04-21T14:01:50Z [scheduler] Enter: lock contention ::cs_main, validation.cpp:5150 started
    2022-04-21T14:01:50Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5150 started
    2022-04-21T14:01:50Z [opencon] Enter: lock contention cs_main, net_processing.cpp:1229 completed (0.449s)
    2022-04-21T14:01:50Z [scheduler] Enter: lock contention ::cs_main, validation.cpp:5150 completed (0.238s)
    2022-04-21T14:01:50Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5150 completed (0.000407s)
    2022-04-21T14:01:51Z [msghand] Enter: lock contention connman.m_nodes_mutex, ./net.h:1223 started
    2022-04-21T14:01:51Z [msghand] Enter: lock contention connman.m_nodes_mutex, ./net.h:1223 completed (0.000004422s)
    
  22. maflcko commented at 3:33 PM on April 21, 2022: member

    Good catch. I'll fix the dirty build and probably remove the nanosecond precision again. Previously the best precision we had was microseconds, so it is probably best to keep it.

    The debug log would then look a bit like:

    2022-04-21T14:01:49Z [msghand] Enter: lock contention connman.m_nodes_mutex, ./net.h:1223 started
    2022-04-21T14:01:49Z [msghand] Enter: lock contention connman.m_nodes_mutex, ./net.h:1223 completed (0.000004s)
    2022-04-21T14:01:50Z [opencon] Enter: lock contention cs_main, net_processing.cpp:1229 started
    2022-04-21T14:01:50Z [scheduler] Enter: lock contention ::cs_main, validation.cpp:5150 started
    2022-04-21T14:01:50Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5150 started
    2022-04-21T14:01:50Z [opencon] Enter: lock contention cs_main, net_processing.cpp:1229 completed (0.449s)
    2022-04-21T14:01:50Z [scheduler] Enter: lock contention ::cs_main, validation.cpp:5150 completed (0.238s)
    2022-04-21T14:01:50Z [msghand] Enter: lock contention ::cs_main, validation.cpp:5150 completed (0.000407s)
    2022-04-21T14:01:51Z [msghand] Enter: lock contention connman.m_nodes_mutex, ./net.h:1223 started
    2022-04-21T14:01:51Z [msghand] Enter: lock contention connman.m_nodes_mutex, ./net.h:1223 completed (0.000004s)
    
  23. maflcko force-pushed on Apr 21, 2022
  24. maflcko force-pushed on May 10, 2022
  25. maflcko force-pushed on Jun 29, 2022
  26. laanwj commented at 10:39 AM on June 29, 2022: member

    Good catch. I'll fix the dirty build and probably remove the nanosecond precision again

    Yes, I agree nanosecond precision is overkill here. For controlled benchmark situations it can come in handy but not for logging in a application running on (usually) a busy system.

  27. maflcko commented at 1:15 PM on June 29, 2022: member

    to clarify, my suggestion is already implemented

  28. maflcko force-pushed on Sep 16, 2022
  29. fanquake commented at 10:57 AM on September 16, 2022: member

    Concept ACK

  30. in src/logging/timer.h:63 in facb78e187 outdated
      59 | @@ -60,8 +60,8 @@ class Timer
      60 |  
      61 |      std::string LogMsg(const std::string& msg)
      62 |      {
      63 | -        const auto end_time = GetTime<std::chrono::microseconds>() - m_start_t;
      64 | -        if (m_start_t.count() <= 0) {
      65 | +        const auto end_time{std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::steady_clock::now() - m_start_t)};
      66 | +        if (m_start_t == decltype(m_start_t){}) {
    


    martinus commented at 5:23 PM on September 16, 2022:

    I think that if statement will never evaluate to true, right? m_start_t is always initialized with m_start_t = std::chrono::steady_clock::now(); so it shouldn't ever be zero.


    maflcko commented at 11:23 AM on January 3, 2023:

    Huh? m_start_t is set after the first call to LogMsg, so I think this can evaluate to true.


    martinus commented at 1:33 PM on January 3, 2023:

    you're right, no idea why I repeatedly didn't see that call in the ctor...


    john-moffett commented at 3:58 PM on January 30, 2023:

    Nano-nit: I suppose the if could be moved ahead of the dur declaration, but it's not worth holding up the PR for such a trivial change.

  31. Use steady clock for logging timer fa3fc86202
  32. Determine logging timer duration type at run time fa35fe8396
  33. maflcko force-pushed on Jan 3, 2023
  34. maflcko commented at 2:26 PM on January 30, 2023: member

    Would be good to make progress here :smiling_face_with_tear:

    Currently the logs may look like this: node0 2023-01-24T20:07:43.197275Z [msghand] [logging/timer.h:57] [Log] [lock] Enter: lock contention cs_main, net_processing.cpp:4861 completed (16507881μs)

    Which requires the dev/user to spend a minute to count the digits to figure out if it means 1.6 seconds, or 16 seconds, or 160 seconds ...

  35. fanquake requested review from stickies-v on Jan 30, 2023
  36. fanquake requested review from aureleoules on Jan 30, 2023
  37. fanquake commented at 2:34 PM on January 30, 2023: member
  38. jonatack commented at 3:07 PM on January 30, 2023: contributor

    Yeah, I am happy to drop the second commit (or postpone it). Another thought would be to print the same value twice. The second time as %.9fs (nanoseconds statically formatted as double-seconds)

    I wonder if the second commit is holding up the first one. The first function of this logging for me is to initially see where the high values are and then what is causing them, and the second commit makes that first step of seeing the higher values more difficult IMO with the multiple units displayed. Edit: I see that in the current version one unit (seconds) is now used, with two different precisions. Perhaps settle on one precision?

  39. maflcko commented at 3:21 PM on January 30, 2023: member

    The first function of this logging for me is to initially see where the high values are and then what is causing them, and the second commit makes that first step of seeing the higher values more difficult IMO

    Does it? It should be trivial to find small values, as they all start with 0. or 0.000, whereas large values start with 1-9.

  40. jonatack commented at 4:11 PM on January 30, 2023: contributor

    I think so, as small values "look" large (more decimal places) and large values "look" small. A fixed precision may help?

    <details><summary>unfiltered debug log excerpt (mainnet) with this branch at fa35fe8396688286dedf177467cc76870e3f888c</summary><p>

    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.231s)
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000001s)
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.286s)
    2023-01-30T16:06:28Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:28Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000002s)
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 started
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.273s)
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 completed (0.000046s)
    2023-01-30T16:06:28Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:29Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:29Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.264s)
    2023-01-30T16:06:29Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000282s)
    2023-01-30T16:06:32Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:32Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:32Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.188s)
    2023-01-30T16:06:32Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000032s)
    2023-01-30T16:06:32Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:32Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.263s)
    2023-01-30T16:06:32Z [lock] Enter: lock contention cs_main, net_processing.cpp:4008 started
    2023-01-30T16:06:32Z [lock] Enter: lock contention cs_main, net_processing.cpp:4008 completed (0.000001s)
    2023-01-30T16:06:32Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:32Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.261s)
    2023-01-30T16:06:32Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:32Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000002s)
    2023-01-30T16:06:32Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:33Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:06:33Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.261s)
    2023-01-30T16:06:33Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000261s)
    2023-01-30T16:06:36Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:36Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:06:36Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.159s)
    2023-01-30T16:06:36Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000029s)
    2023-01-30T16:06:36Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:36Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:36Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.264s)
    2023-01-30T16:06:36Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000029s)
    2023-01-30T16:06:36Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:36Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.262s)
    2023-01-30T16:06:36Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:36Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000002s)
    2023-01-30T16:06:36Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:37Z [lock] Enter: lock contention cs_main, net_processing.cpp:1444 started
    2023-01-30T16:06:37Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.269s)
    2023-01-30T16:06:37Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:37Z [lock] Enter: lock contention cs_main, net_processing.cpp:1444 completed (0.136s)
    2023-01-30T16:06:37Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000368s)
    2023-01-30T16:06:38Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:38Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:38Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.012s)
    2023-01-30T16:06:38Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000226s)
    2023-01-30T16:06:38Z [lock] Enter: lock contention cs_main, rpc/blockchain.cpp:1253 started
    2023-01-30T16:06:38Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:06:38Z [lock] Enter: lock contention cs_main, rpc/blockchain.cpp:1253 completed (0.272s)
    2023-01-30T16:06:38Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000121s)
    2023-01-30T16:06:38Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 started
    2023-01-30T16:06:38Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:38Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 completed (0.268s)
    2023-01-30T16:06:38Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000034s)
    2023-01-30T16:06:38Z [lock] Enter: lock contention cs_args, util/system.cpp:1097 started
    2023-01-30T16:06:38Z [lock] Enter: lock contention cs_args, util/system.cpp:1097 completed (0.000001s)
    2023-01-30T16:06:38Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 started
    2023-01-30T16:06:39Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 completed (0.261s)
    2023-01-30T16:06:39Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 started
    2023-01-30T16:06:39Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 completed (0.000001s)
    2023-01-30T16:06:40Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:40Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.246s)
    2023-01-30T16:06:40Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 started
    2023-01-30T16:06:40Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 completed (0.000002s)
    2023-01-30T16:06:40Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:40Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:40Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.264s)
    2023-01-30T16:06:40Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000035s)
    2023-01-30T16:06:40Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:41Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:41Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.266s)
    2023-01-30T16:06:41Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000028s)
    2023-01-30T16:06:41Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:41Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:41Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.279s)
    2023-01-30T16:06:41Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000025s)
    2023-01-30T16:06:41Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:41Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:41Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.296s)
    2023-01-30T16:06:41Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000260s)
    2023-01-30T16:06:44Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:44Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:06:44Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.057s)
    2023-01-30T16:06:44Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000029s)
    2023-01-30T16:06:44Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:44Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.266s)
    2023-01-30T16:06:44Z [lock] Enter: lock contention cs_main, net_processing.cpp:4008 started
    2023-01-30T16:06:44Z [lock] Enter: lock contention cs_main, net_processing.cpp:4008 completed (0.000002s)
    2023-01-30T16:06:44Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:45Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:45Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.265s)
    2023-01-30T16:06:45Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000071s)
    2023-01-30T16:06:45Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:45Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:45Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.264s)
    2023-01-30T16:06:45Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000028s)
    2023-01-30T16:06:45Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:45Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.264s)
    2023-01-30T16:06:45Z [lock] Enter: lock contention cs_main, net_processing.cpp:3910 started
    2023-01-30T16:06:45Z [lock] Enter: lock contention cs_main, net_processing.cpp:3910 completed (0.000190s)
    2023-01-30T16:06:48Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:49Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:49Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.967s)
    2023-01-30T16:06:49Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000028s)
    2023-01-30T16:06:49Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:49Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.275s)
    2023-01-30T16:06:49Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:49Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000001s)
    2023-01-30T16:06:49Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:50Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.265s)
    2023-01-30T16:06:50Z [lock] Enter: lock contention cs_main, net_processing.cpp:4008 started
    2023-01-30T16:06:50Z [lock] Enter: lock contention cs_main, net_processing.cpp:4008 completed (0.000001s)
    2023-01-30T16:06:50Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:50Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:50Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.264s)
    2023-01-30T16:06:50Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000027s)
    2023-01-30T16:06:50Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:50Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.268s)
    2023-01-30T16:06:50Z [lock] Enter: lock contention cs_main, net_processing.cpp:4008 started
    2023-01-30T16:06:50Z [lock] Enter: lock contention cs_main, net_processing.cpp:4008 completed (0.000197s)
    2023-01-30T16:06:51Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:51Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:51Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.169s)
    2023-01-30T16:06:51Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000250s)
    2023-01-30T16:06:51Z [lock] Enter: lock contention cs_main, rpc/blockchain.cpp:1253 started
    2023-01-30T16:06:51Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:51Z [lock] Enter: lock contention cs_main, rpc/blockchain.cpp:1253 completed (0.280s)
    2023-01-30T16:06:51Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000114s)
    2023-01-30T16:06:51Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 started
    2023-01-30T16:06:51Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 completed (0.274s)
    2023-01-30T16:06:51Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:51Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000002s)
    2023-01-30T16:06:51Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 started
    2023-01-30T16:06:52Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 completed (0.266s)
    2023-01-30T16:06:52Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:52Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000001s)
    2023-01-30T16:06:53Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.272s)
    2023-01-30T16:06:54Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:54Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000002s)
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.279s)
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000029s)
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.264s)
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000002s)
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.267s)
    2023-01-30T16:06:54Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:54Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000001s)
    2023-01-30T16:06:54Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:55Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.290s)
    2023-01-30T16:06:55Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:55Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000184s)
    2023-01-30T16:06:55Z [lock] Enter: lock contention cs_main, net_processing.cpp:1444 started
    2023-01-30T16:06:55Z [lock] Enter: lock contention cs_main, net_processing.cpp:1444 completed (0.238s)
    2023-01-30T16:06:55Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:06:55Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000075s)
    2023-01-30T16:06:56Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:56Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.054s)
    2023-01-30T16:06:56Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:06:56Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000002s)
    2023-01-30T16:06:57Z [lock] Enter: lock contention cs_main, net_processing.cpp:1444 started
    2023-01-30T16:06:57Z [lock] Enter: lock contention cs_main, net_processing.cpp:1444 completed (0.134s)
    2023-01-30T16:06:57Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:57Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000070s)
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:3674 started
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.186s)
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:3674 completed (0.000030s)
    2023-01-30T16:06:58Z [lock] Enter: lock contention m_peer_mutex, net_processing.cpp:1543 started
    2023-01-30T16:06:58Z [lock] Enter: lock contention m_peer_mutex, net_processing.cpp:1543 completed (0.000009s)
    2023-01-30T16:06:58Z [lock] Enter: lock contention m_peer_mutex, net_processing.cpp:1543 started
    2023-01-30T16:06:58Z [lock] Enter: lock contention m_peer_mutex, net_processing.cpp:1543 completed (0.000001s)
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:58Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.264s)
    2023-01-30T16:06:58Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000069s)
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 started
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.281s)
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 completed (0.000032s)
    2023-01-30T16:06:58Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:06:59Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.267s)
    2023-01-30T16:07:00Z New outbound peer connected: version: 70016, blocks=774351, peer=5, peeraddr=mwmfluek4au6mxxpw6fy7sjhkm65bdfc7izc7lpz3trewfdghyrzsbid.onion:8333 (manual)
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.126s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000031s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.000016s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000001s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.305s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000002s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.000361s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000002s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 started
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.303s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, net_processing.cpp:2916 completed (0.000034s)
    2023-01-30T16:07:02Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:07:03Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:07:03Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.303s)
    2023-01-30T16:07:03Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000258s)
    2023-01-30T16:07:04Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:07:04Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.248s)
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000240s)
    2023-01-30T16:07:04Z [lock] Enter: lock contention cs_main, rpc/blockchain.cpp:1253 started
    2023-01-30T16:07:04Z [lock] Enter: lock contention cs_main, rpc/blockchain.cpp:1253 completed (0.000006s)
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 started
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, validation.cpp:5246 completed (0.000066s)
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 started
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 completed (0.263s)
    2023-01-30T16:07:04Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 started
    2023-01-30T16:07:04Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 completed (0.000002s)
    2023-01-30T16:07:04Z [lock] Enter: lock contention cs_wallet, wallet/wallet.cpp:1474 started
    2023-01-30T16:07:04Z [lock] Enter: lock contention cs_wallet, wallet/wallet.cpp:1474 completed (0.000113s)
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 started
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, node/interfaces.cpp:733 completed (0.267s)
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, net_processing.cpp:2833 started
    2023-01-30T16:07:04Z [lock] Enter: lock contention ::cs_main, net_processing.cpp:2833 completed (0.000001s)
    2023-01-30T16:07:06Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:07:07Z [lock] Enter: lock contention cs_main, net_processing.cpp:2649 started
    2023-01-30T16:07:07Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (1.722s)
    2023-01-30T16:07:07Z [lock] Enter: lock contention cs_main, net_processing.cpp:2649 completed (0.000029s)
    2023-01-30T16:07:07Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:07:07Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.000276s)
    2023-01-30T16:07:07Z [lock] Enter: lock contention m_peer_mutex, net_processing.cpp:1543 started
    2023-01-30T16:07:07Z [lock] Enter: lock contention m_peer_mutex, net_processing.cpp:1543 completed (0.000001s)
    2023-01-30T16:07:07Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.281s)
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, net_processing.cpp:3674 started
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, net_processing.cpp:3674 completed (0.000002s)
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 started
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, net_processing.cpp:1563 completed (0.000053s)
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 started
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, net_processing.cpp:5384 completed (0.000002s)
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 started
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, rpc/net.cpp:634 completed (0.275s)
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, net_processing.cpp:3674 started
    2023-01-30T16:07:08Z [lock] Enter: lock contention cs_main, net_processing.cpp:3674 completed (0.000195s)
    

    </p></details>

  41. maflcko commented at 4:13 PM on January 30, 2023: member

    Ok, closing for now

  42. maflcko closed this on Jan 30, 2023

  43. maflcko deleted the branch on Jan 30, 2023
  44. john-moffett approved
  45. john-moffett commented at 4:17 PM on January 30, 2023: contributor

    ACK fa35fe8396688286dedf177467cc76870e3f888c

    I prefer the uniform units and the new formatting. To me, it's easier to grok large vs small values, but I realize that could be subjective, as @jonatack appears to think otherwise.

  46. maflcko commented at 11:16 AM on January 31, 2023: member

    Maybe the us could at least be formatted with ' separators? For example, 1'234'567'890us?

    Anyway, the first commit is now in https://github.com/bitcoin/bitcoin/pull/27005

  47. bitcoin locked this on Jan 31, 2024

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 15:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me