Skip to content

Commit

Permalink
[C] Use nanosecond resolution for logging messages
Browse files Browse the repository at this point in the history
  • Loading branch information
vyazelenko committed Mar 27, 2024
1 parent 23129d2 commit f32926f
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions aeron-driver/src/main/c/agent/aeron_driver_agent.c
Original file line number Diff line number Diff line change
Expand Up @@ -1375,7 +1375,7 @@ const char *aeron_driver_agent_dissect_log_header(
snprintf(
buffer,
sizeof(buffer) - 1,
"[%.6f] %s: %.*s [%" PRIu64 "/%" PRIu64 "]",
"[%.9f] %s: %.*s [%" PRIu64 "/%" PRIu64 "]",
(double)time_ns / NANOS_PER_SECOND,
AERON_DRIVER_AGENT_LOG_CONTEXT,
AERON_DRIVER_AGENT_MAX_EVENT_NAME_LENGTH,
Expand All @@ -1392,7 +1392,7 @@ const char *aeron_driver_agent_dissect_log_start(int64_t time_ns, int64_t time_m
char datestamp[256];

aeron_driver_agent_format_date(datestamp, sizeof(datestamp) - 1, time_ms);
snprintf(buffer, sizeof(buffer) - 1, "[%.6f] log started %s", (double)time_ns / NANOS_PER_SECOND, datestamp);
snprintf(buffer, sizeof(buffer) - 1, "[%.9f] log started %s", (double)time_ns / NANOS_PER_SECOND, datestamp);

return buffer;
}
Expand Down
2 changes: 1 addition & 1 deletion aeron-driver/src/test/c/aeron_name_resolver_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -729,5 +729,5 @@ TEST_F(NameResolverTest, shouldHandleDissection)
GTEST_SKIP();
#endif
std::string output = testing::internal::GetCapturedStdout();
EXPECT_EQ("[0.000000] DRIVER: FRAME_IN [104/104]: 127.0.0.1:5555 RES 10101011 len 104 [2 10000000 port 9872 100 ::1 ABCDEFHG] [1 00110011 port 8080 333 127.0.0.1 test]\n", output);
EXPECT_EQ("[0.000000000] DRIVER: FRAME_IN [104/104]: 127.0.0.1:5555 RES 10101011 len 104 [2 10000000 port 9872 100 ::1 ABCDEFHG] [1 00110011 port 8080 333 127.0.0.1 test]\n", output);
}
8 changes: 4 additions & 4 deletions aeron-driver/src/test/c/agent/aeron_driver_agent_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ TEST_F(DriverAgentTest, shouldDissectLogHeader)
auto log_header = aeron_driver_agent_dissect_log_header(time_ns, id, capture_length, message_length);

EXPECT_EQ(
std::string("[3274398573.945795] DRIVER: CMD_OUT_EXCLUSIVE_PUBLICATION_READY [59/256]"),
std::string("[3274398573.945794582] DRIVER: CMD_OUT_EXCLUSIVE_PUBLICATION_READY [59/256]"),
std::string(log_header));
}

Expand Down Expand Up @@ -1494,19 +1494,19 @@ TEST_F(DriverAgentTest, dissecLogStartShouldFormatNanoTimeWithMicrosecondPrecisi

auto result = std::string(aeron_driver_agent_dissect_log_start(time_ns, time_ms));

ASSERT_EQ(0, result.find("[55555.123457] log started 2009-02-1", 0));
ASSERT_EQ(0, result.find("[55555.123456789] log started 2009-02-1", 0));
}

TEST_F(DriverAgentTest, dissecLogHeaderShouldFormatNanoTimeWithMicrosecondPrecision)
{
int64_t time_ns = 333000555000999000;
int64_t time_ns = 333000555000999001;
aeron_driver_agent_event_t event = AERON_DRIVER_EVENT_CMD_IN_CLIENT_CLOSE;
size_t capture_length = 100;
size_t message_length = 200;

auto result = std::string(aeron_driver_agent_dissect_log_header(time_ns, event, capture_length, message_length));

ASSERT_EQ("[333000555.000999] DRIVER: CMD_IN_CLIENT_CLOSE [100/200]", result);
ASSERT_EQ("[333000555.000998974] DRIVER: CMD_IN_CLIENT_CLOSE [100/200]", result);
}

TEST_F(DriverAgentTest, shouldNotAssignOnNameResolveFunctionWhenNotConfigured)
Expand Down

0 comments on commit f32926f

Please sign in to comment.