Skip to content

Commit 5f26aaa

Browse files
committed
Merge branch 'JohnTitor-upstream-tracing'
2 parents 4ac64e9 + 6f533b1 commit 5f26aaa

File tree

23 files changed

+2523
-0
lines changed

23 files changed

+2523
-0
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Rust
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
types: [opened, synchronize, reopened]
9+
branches:
10+
- main
11+
12+
env:
13+
CARGO_TERM_COLOR: always
14+
15+
jobs:
16+
test_without_otel:
17+
name: Test
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
- name: Install Rust
22+
uses: actions-rust-lang/[email protected]
23+
- name: "Test"
24+
run: cargo test
25+
26+
test_with_otel:
27+
name: Test
28+
runs-on: ubuntu-latest
29+
strategy:
30+
matrix:
31+
otel_version:
32+
- opentelemetry_0_13
33+
- opentelemetry_0_14
34+
- opentelemetry_0_15
35+
- opentelemetry_0_16
36+
- opentelemetry_0_17
37+
- opentelemetry_0_18
38+
- opentelemetry_0_19
39+
- opentelemetry_0_20
40+
- opentelemetry_0_21
41+
- opentelemetry_0_22
42+
- opentelemetry_0_23
43+
- opentelemetry_0_24
44+
- opentelemetry_0_25
45+
- opentelemetry_0_26
46+
- opentelemetry_0_27
47+
- opentelemetry_0_28
48+
- opentelemetry_0_29
49+
- opentelemetry_0_30
50+
steps:
51+
- uses: actions/checkout@v4
52+
- name: Install Rust
53+
uses: actions-rust-lang/[email protected]
54+
- name: "Test"
55+
run: cargo test --features ${{ matrix.otel_version }}
56+
57+
test_uuid_v7:
58+
name: Test
59+
runs-on: ubuntu-latest
60+
steps:
61+
- uses: actions/checkout@v4
62+
- name: Install Rust
63+
uses: actions-rust-lang/[email protected]
64+
- name: "Test"
65+
run: cargo test --features uuid_v7
66+
67+
fmt:
68+
name: Rustfmt
69+
runs-on: ubuntu-latest
70+
steps:
71+
- uses: actions/checkout@v4
72+
- name: Install Rust
73+
uses: actions-rust-lang/[email protected]
74+
with:
75+
components: rustfmt
76+
- name: "Rustfmt Check"
77+
run: cargo fmt --all -- --check
78+
79+
clippy:
80+
name: Clippy
81+
runs-on: ubuntu-latest
82+
steps:
83+
- uses: actions/checkout@v4
84+
- name: Install Rust
85+
uses: actions-rust-lang/[email protected]
86+
with:
87+
components: clippy
88+
- name: "Clippy Check"
89+
run: cargo clippy -- -D warnings

tracing-actix-web/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/target
2+
Cargo.lock
3+
.idea
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

tracing-actix-web/Cargo.toml

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
[workspace]
2+
members = [
3+
".",
4+
"examples/opentelemetry",
5+
"examples/custom-root-span",
6+
"examples/request-id-response-header",
7+
]
8+
9+
[package]
10+
name = "tracing-actix-web"
11+
version = "0.7.19"
12+
authors = ["Luca Palmieri <[email protected]>"]
13+
edition = "2018"
14+
15+
license = "MIT/Apache-2.0"
16+
17+
repository = "https://github.com/LukeMathWalker/tracing-actix-web"
18+
documentation = "https://docs.rs/tracing-actix-web/"
19+
readme = "README.md"
20+
21+
description = "Structured logging middleware for actix-web."
22+
23+
keywords = ["http", "actix-web", "tracing", "logging"]
24+
categories = ["asynchronous", "web-programming"]
25+
26+
[features]
27+
default = ["emit_event_on_error"]
28+
opentelemetry_0_13 = [
29+
"opentelemetry_0_13_pkg",
30+
"tracing-opentelemetry_0_12_pkg",
31+
]
32+
opentelemetry_0_14 = [
33+
"opentelemetry_0_14_pkg",
34+
"tracing-opentelemetry_0_13_pkg",
35+
]
36+
opentelemetry_0_15 = [
37+
"opentelemetry_0_15_pkg",
38+
"tracing-opentelemetry_0_14_pkg",
39+
]
40+
opentelemetry_0_16 = [
41+
"opentelemetry_0_16_pkg",
42+
"tracing-opentelemetry_0_16_pkg",
43+
]
44+
opentelemetry_0_17 = [
45+
"opentelemetry_0_17_pkg",
46+
"tracing-opentelemetry_0_17_pkg",
47+
]
48+
opentelemetry_0_18 = [
49+
"opentelemetry_0_18_pkg",
50+
"tracing-opentelemetry_0_18_pkg",
51+
]
52+
opentelemetry_0_19 = [
53+
"opentelemetry_0_19_pkg",
54+
"tracing-opentelemetry_0_19_pkg",
55+
]
56+
opentelemetry_0_20 = [
57+
"opentelemetry_0_20_pkg",
58+
"tracing-opentelemetry_0_21_pkg",
59+
]
60+
opentelemetry_0_21 = [
61+
"opentelemetry_0_21_pkg",
62+
"tracing-opentelemetry_0_22_pkg",
63+
]
64+
opentelemetry_0_22 = [
65+
"opentelemetry_0_22_pkg",
66+
"tracing-opentelemetry_0_23_pkg",
67+
]
68+
opentelemetry_0_23 = [
69+
"opentelemetry_0_23_pkg",
70+
"tracing-opentelemetry_0_24_pkg",
71+
]
72+
opentelemetry_0_24 = [
73+
"opentelemetry_0_24_pkg",
74+
"tracing-opentelemetry_0_25_pkg",
75+
]
76+
opentelemetry_0_25 = [
77+
"opentelemetry_0_25_pkg",
78+
"tracing-opentelemetry_0_26_pkg",
79+
]
80+
opentelemetry_0_26 = [
81+
"opentelemetry_0_26_pkg",
82+
"tracing-opentelemetry_0_27_pkg",
83+
]
84+
opentelemetry_0_27 = [
85+
"opentelemetry_0_27_pkg",
86+
"tracing-opentelemetry_0_28_pkg",
87+
]
88+
opentelemetry_0_28 = [
89+
"opentelemetry_0_28_pkg",
90+
"tracing-opentelemetry_0_29_pkg",
91+
]
92+
opentelemetry_0_29 = [
93+
"opentelemetry_0_29_pkg",
94+
"tracing-opentelemetry_0_30_pkg",
95+
]
96+
opentelemetry_0_30 = [
97+
"opentelemetry_0_30_pkg",
98+
"tracing-opentelemetry_0_31_pkg",
99+
]
100+
emit_event_on_error = []
101+
uuid_v7 = ["uuid/v7"]
102+
103+
[dependencies]
104+
actix-web = { version = "4", default-features = false }
105+
pin-project = "1.0.0"
106+
tracing = "0.1.36"
107+
uuid = { version = "1.6", features = ["v4"] }
108+
mutually_exclusive_features = "0.1"
109+
opentelemetry_0_13_pkg = { package = "opentelemetry", version = "0.13", optional = true }
110+
opentelemetry_0_14_pkg = { package = "opentelemetry", version = "0.14", optional = true }
111+
opentelemetry_0_15_pkg = { package = "opentelemetry", version = "0.15", optional = true }
112+
opentelemetry_0_16_pkg = { package = "opentelemetry", version = "0.16", optional = true }
113+
opentelemetry_0_17_pkg = { package = "opentelemetry", version = "0.17", optional = true }
114+
opentelemetry_0_18_pkg = { package = "opentelemetry", version = "0.18", optional = true }
115+
opentelemetry_0_19_pkg = { package = "opentelemetry", version = "0.19", optional = true }
116+
opentelemetry_0_20_pkg = { package = "opentelemetry", version = "0.20", optional = true }
117+
opentelemetry_0_21_pkg = { package = "opentelemetry", version = "0.21", optional = true }
118+
opentelemetry_0_22_pkg = { package = "opentelemetry", version = "0.22", optional = true }
119+
opentelemetry_0_23_pkg = { package = "opentelemetry", version = "0.23", optional = true }
120+
opentelemetry_0_24_pkg = { package = "opentelemetry", version = "0.24", optional = true }
121+
opentelemetry_0_25_pkg = { package = "opentelemetry", version = "0.25", optional = true }
122+
opentelemetry_0_26_pkg = { package = "opentelemetry", version = "0.26", optional = true }
123+
opentelemetry_0_27_pkg = { package = "opentelemetry", version = "0.27", optional = true }
124+
opentelemetry_0_28_pkg = { package = "opentelemetry", version = "0.28", optional = true }
125+
opentelemetry_0_29_pkg = { package = "opentelemetry", version = "0.29", optional = true }
126+
opentelemetry_0_30_pkg = { package = "opentelemetry", version = "0.30", optional = true }
127+
tracing-opentelemetry_0_12_pkg = { package = "tracing-opentelemetry", version = "0.12", optional = true }
128+
tracing-opentelemetry_0_13_pkg = { package = "tracing-opentelemetry", version = "0.13", optional = true }
129+
tracing-opentelemetry_0_14_pkg = { package = "tracing-opentelemetry", version = "0.14", optional = true }
130+
tracing-opentelemetry_0_16_pkg = { package = "tracing-opentelemetry", version = "0.16", optional = true }
131+
tracing-opentelemetry_0_17_pkg = { package = "tracing-opentelemetry", version = "0.17", optional = true }
132+
tracing-opentelemetry_0_18_pkg = { package = "tracing-opentelemetry", version = "0.18", optional = true }
133+
tracing-opentelemetry_0_19_pkg = { package = "tracing-opentelemetry", version = "0.19", optional = true }
134+
tracing-opentelemetry_0_21_pkg = { package = "tracing-opentelemetry", version = "0.21", optional = true }
135+
tracing-opentelemetry_0_22_pkg = { package = "tracing-opentelemetry", version = "0.22", optional = true }
136+
tracing-opentelemetry_0_23_pkg = { package = "tracing-opentelemetry", version = "0.23", optional = true }
137+
tracing-opentelemetry_0_24_pkg = { package = "tracing-opentelemetry", version = "0.24", optional = true }
138+
tracing-opentelemetry_0_25_pkg = { package = "tracing-opentelemetry", version = "0.25", optional = true }
139+
tracing-opentelemetry_0_26_pkg = { package = "tracing-opentelemetry", version = "0.26", optional = true }
140+
tracing-opentelemetry_0_27_pkg = { package = "tracing-opentelemetry", version = "0.27", optional = true }
141+
tracing-opentelemetry_0_28_pkg = { package = "tracing-opentelemetry", version = "0.28", optional = true }
142+
tracing-opentelemetry_0_29_pkg = { package = "tracing-opentelemetry", version = "0.29", optional = true }
143+
tracing-opentelemetry_0_30_pkg = { package = "tracing-opentelemetry", version = "0.30", optional = true }
144+
tracing-opentelemetry_0_31_pkg = { package = "tracing-opentelemetry", version = "0.31", optional = true }
145+
146+
[dev-dependencies]
147+
actix-web = { version = "4", default-features = false, features = ["macros"] }
148+
tracing-subscriber = { version = "0.3", features = ["registry", "env-filter"] }
149+
tracing-bunyan-formatter = "0.3.0"
150+
tracing-log = "0.2"

0 commit comments

Comments
 (0)