mirror of
https://github.com/openappsec/openappsec.git
synced 2025-09-29 19:24:26 +03:00
June 27th update
This commit is contained in:
@@ -58,7 +58,6 @@ public:
|
||||
|
||||
string getCurrentTrace() const override;
|
||||
string getCurrentSpan() const override;
|
||||
string getCurrentHeaders() override;
|
||||
map<string, string> getCurrentHeadersMap() override;
|
||||
|
||||
void startNewTrace(bool new_span, const string &_trace_id) override;
|
||||
@@ -239,34 +238,6 @@ Environment::Impl::getCurrentSpan() const
|
||||
return "";
|
||||
}
|
||||
|
||||
string
|
||||
Environment::Impl::getCurrentHeaders()
|
||||
{
|
||||
string tracing_headers;
|
||||
auto trace_id = getCurrentTrace();
|
||||
if (!trace_id.empty()) {
|
||||
tracing_headers += "X-Trace-Id: " + trace_id + "\r\n";
|
||||
} else {
|
||||
string correlation_id_string = "00000000-0000-0000-0000-000000000000";
|
||||
try {
|
||||
boost::uuids::random_generator uuid_random_gen;
|
||||
correlation_id_string = boost::uuids::to_string(uuid_random_gen());
|
||||
} catch (const boost::uuids::entropy_error &e) {
|
||||
dbgTrace(D_ENVIRONMENT)
|
||||
<< "Failed to generate random correlation id - entropy exception. Exception: "
|
||||
<< e.what();
|
||||
tracing_status = TracingStatus::DISABLED;
|
||||
}
|
||||
tracing_headers += "X-Trace-Id: " + correlation_id_string + "\r\n";
|
||||
}
|
||||
|
||||
auto span_id = getCurrentSpan();
|
||||
if (!span_id.empty()) {
|
||||
tracing_headers += "X-Span-Id: " + span_id + "\r\n";
|
||||
}
|
||||
return tracing_headers;
|
||||
}
|
||||
|
||||
map<string, string>
|
||||
Environment::Impl::getCurrentHeadersMap()
|
||||
{
|
||||
@@ -292,6 +263,21 @@ Environment::Impl::getCurrentHeadersMap()
|
||||
if (!span_id.empty()) {
|
||||
tracing_headers["X-Span-Id"] = span_id;
|
||||
}
|
||||
|
||||
auto exec_name = get<string>("Executable Name");
|
||||
if (exec_name.ok() && *exec_name != "") {
|
||||
string executable_name = *exec_name;
|
||||
auto file_path_end = executable_name.find_last_of("/");
|
||||
if (file_path_end != string::npos) {
|
||||
executable_name = executable_name.substr(file_path_end + 1);
|
||||
}
|
||||
auto file_sufix_start = executable_name.find_first_of(".");
|
||||
if (file_sufix_start != string::npos) {
|
||||
executable_name = executable_name.substr(0, file_sufix_start);
|
||||
}
|
||||
tracing_headers["X-Calling-Service"] = executable_name;
|
||||
}
|
||||
|
||||
return tracing_headers;
|
||||
}
|
||||
|
||||
|
@@ -345,12 +345,16 @@ public:
|
||||
TEST_F(TracingCompRoutinesTest, 2SpansDifFlow)
|
||||
{
|
||||
I_MainLoop::Routine routine = [&] () {
|
||||
string service_name = "test-service-name";
|
||||
i_env->registerValue("Executable Name", service_name);
|
||||
|
||||
i_env->startNewTrace(true, "a687b388-1108-4083-9852-07c33b1074e9");
|
||||
trace_id = i_env->getCurrentTrace();
|
||||
span_id = i_env->getCurrentSpan();
|
||||
string headers = i_env->getCurrentHeaders();
|
||||
EXPECT_THAT(headers, HasSubstr("X-Trace-Id: " + trace_id));
|
||||
EXPECT_THAT(headers, HasSubstr("X-Span-Id: " + span_id));
|
||||
auto headers = i_env->getCurrentHeadersMap();
|
||||
EXPECT_THAT(headers["X-Trace-Id"], trace_id);
|
||||
EXPECT_THAT(headers["X-Span-Id"], span_id);
|
||||
EXPECT_THAT(headers["X-Calling-Service"], service_name);
|
||||
|
||||
EXPECT_EQ(trace_id, "a687b388-1108-4083-9852-07c33b1074e9");
|
||||
EXPECT_NE("", i_env->getCurrentSpan());
|
||||
|
Reference in New Issue
Block a user