This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-php.git
The following commit(s) were added to refs/heads/master by this push:
new 3192c55 Fix target address in cross process header. (#95)
3192c55 is described below
commit 3192c553002707d344bd6774cfab5bc61f67a1d3
Author: jmjoy <[email protected]>
AuthorDate: Tue Sep 19 16:06:13 2023 +0800
Fix target address in cross process header. (#95)
---
src/context.rs | 8 ++++----
src/plugin/plugin_amqplib.rs | 6 +++---
src/plugin/plugin_curl.rs | 2 +-
tests/data/expected_context.yaml | 24 ++++++++++++------------
4 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/src/context.rs b/src/context.rs
index c586ada..3be3e2f 100644
--- a/src/context.rs
+++ b/src/context.rs
@@ -56,18 +56,18 @@ impl RequestContext {
Self::try_with_global(request_id, |ctx| f(&mut ctx.tracing_context))
}
- pub fn try_get_sw_header(request_id: Option<i64>) -> crate::Result<String>
{
+ pub fn try_get_sw_header(request_id: Option<i64>, peer: &str) ->
crate::Result<String> {
Ok(Self::try_with_global(request_id, |req_ctx| {
- let span_object = req_ctx.get_primary_span().span_object();
Ok(encode_propagation(
&req_ctx.tracing_context,
- &span_object.operation_name,
- &span_object.peer,
+ &req_ctx.get_primary_span().span_object().operation_name,
+ peer,
))
})?)
}
/// Primary endpoint name is used for endpoint dependency.
+ #[inline]
fn get_primary_span(&self) -> &Span {
&self.entry_span
}
diff --git a/src/plugin/plugin_amqplib.rs b/src/plugin/plugin_amqplib.rs
index 7d7f9b1..aa86aa6 100644
--- a/src/plugin/plugin_amqplib.rs
+++ b/src/plugin/plugin_amqplib.rs
@@ -98,7 +98,7 @@ impl AmqplibPlugin {
&routing_key,
)?;
- Self::inject_sw_header(request_id, execute_data)?;
+ Self::inject_sw_header(request_id, execute_data, &peer)?;
Ok(Box::new(span))
}),
@@ -146,11 +146,11 @@ impl AmqplibPlugin {
}
fn inject_sw_header(
- request_id: Option<i64>, execute_data: &mut ExecuteData,
+ request_id: Option<i64>, execute_data: &mut ExecuteData, peer: &str,
) -> crate::Result<()> {
const HEADER_NAME: &str = "application_headers";
- let sw_header = RequestContext::try_get_sw_header(request_id)?;
+ let sw_header = RequestContext::try_get_sw_header(request_id, peer)?;
let message = execute_data
.get_mut_parameter(0)
diff --git a/src/plugin/plugin_curl.rs b/src/plugin/plugin_curl.rs
index 985eef7..ab31220 100644
--- a/src/plugin/plugin_curl.rs
+++ b/src/plugin/plugin_curl.rs
@@ -402,7 +402,7 @@ impl CurlPlugin {
}
fn inject_sw_header(request_id: Option<i64>, ch: ZVal, info: &CurlInfo) ->
crate::Result<()> {
- let sw_header = RequestContext::try_get_sw_header(request_id)?;
+ let sw_header = RequestContext::try_get_sw_header(request_id,
&info.peer)?;
let mut val = CURL_HEADERS
.with(|headers| headers.borrow_mut().remove(&info.cid))
.unwrap_or_else(|| ZVal::from(ZArray::new()));
diff --git a/tests/data/expected_context.yaml b/tests/data/expected_context.yaml
index 1a421b5..2c1e644 100644
--- a/tests/data/expected_context.yaml
+++ b/tests/data/expected_context.yaml
@@ -37,7 +37,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl.enter.php",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9011",
refType: CrossProcess,
parentSpanId: 1,
parentTraceSegmentId: "not null",
@@ -68,7 +68,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl.enter.php",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9011",
refType: CrossProcess,
parentSpanId: 2,
parentTraceSegmentId: "not null",
@@ -99,7 +99,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl.enter.php",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9011",
refType: CrossProcess,
parentSpanId: 3,
parentTraceSegmentId: "not null",
@@ -130,7 +130,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl.enter.php",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9011",
refType: CrossProcess,
parentSpanId: 4,
parentTraceSegmentId: "not null",
@@ -158,7 +158,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/guzzle.php",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9011",
refType: CrossProcess,
parentSpanId: 1,
parentTraceSegmentId: "not null",
@@ -285,7 +285,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl-multi.enter.php",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9011",
refType: CrossProcess,
parentSpanId: 1,
parentTraceSegmentId: "not null",
@@ -316,7 +316,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl-multi.enter.php",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9011",
refType: CrossProcess,
parentSpanId: 3,
parentTraceSegmentId: "not null",
@@ -347,7 +347,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl-multi.enter.php",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9011",
refType: CrossProcess,
parentSpanId: 2,
parentTraceSegmentId: "not null",
@@ -1474,7 +1474,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl.enter.php",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9012",
refType: CrossProcess,
parentSpanId: 5,
parentTraceSegmentId: "not null",
@@ -1505,7 +1505,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9501",
refType: CrossProcess,
parentSpanId: 1,
parentTraceSegmentId: "not null",
@@ -1581,7 +1581,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9502",
refType: CrossProcess,
parentSpanId: 2,
parentTraceSegmentId: "not null",
@@ -1609,7 +1609,7 @@ segmentItems:
refs:
- {
parentEndpoint: "GET:/curl",
- networkAddress: "",
+ networkAddress: "127.0.0.1:9502",
refType: CrossProcess,
parentSpanId: 1,
parentTraceSegmentId: "not null",