Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion forward-proxy/.env.dev
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ AUTH_ACCESS_TOKEN=eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE5MTYyMzkwMjIsInVzZXJfaWQiOiIxM
AUTH_GET_CERTIFICATE_URL=http://localhost:5001/sp-pub-key?backend_url=

# mTLS configurations
ENABLE_TLS=true
ENABLE_TLS=false
CA_CERT="-----BEGIN CERTIFICATE-----\nMIIF0zCCA7ugAwIBAgIUQbJs4Jhd2NiSeL0Y+SZ4z7W6l7swDQYJKoZIhvcNAQEL\nBQAwcTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRUwEwYDVQQHDAxTYW5GcmFu\nY2lzY28xGDAWBgNVBAoMD0dsb2JlQW5kQ2l0aXplbjEPMA0GA1UECwwGTGF5ZXI4\nMRMwEQYDVQQDDAptVExTUm9vdENBMB4XDTI1MDkyNDE5MDQ1OFoXDTM1MDkyMjE5\nMDQ1OFowcTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRUwEwYDVQQHDAxTYW5G\ncmFuY2lzY28xGDAWBgNVBAoMD0dsb2JlQW5kQ2l0aXplbjEPMA0GA1UECwwGTGF5\nZXI4MRMwEQYDVQQDDAptVExTUm9vdENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A\nMIICCgKCAgEAmQsqgvtgfiQvhaziGzWMAZRzCViScRCrwkvmeE2U6Q/etk1PacuH\ndkJAvDQgLBsXCThg6G0hjw6BHX/i5seBQ6XHBNXEhAR70X3Y9VDCOoOLbqI22XAH\nZrX5gswBUzXbxxbxPrc7lK8N8s2M/LS4ADo9QWu4gtDnfr2eEWQR1P7o8llIn3z+\nGJStvzD0Jlfa39Gv9sIjPsoe7hvSpDiYqwGYDpeBLxn2SU39tyyyxDOH5NrpHG0z\nYMh20kK/0qkiVknd7/oqbSIv1EKfLLnw7p09LmsaHhlR+w+kQt6Z2Dzvae1qMj/D\nWnf1fgBOThZdnfUDznFGLjhPpGIvyjB8zk16wgYW7OIslqqbPPSLWm3ls3qpU0pl\nn2ROOWSLufXobh0Ly8vLLGVN8mwYeaTyXK4ELC0ScrpzBJbQ0mN3xulCMulk54iZ\nLy8KA1DtiwWyyV1cCvb36kfEPavU9zCYUgjvpVp3+fato0DBqe4ukMBUlb5C9qQ0\nKEkz/z75yWAe6bSVqXnYVuIihoxumM6oRMJwfOeOU0yyIfIkhwmDxw+yqeUDVibw\nseq5Ul4qVulocSAYPUX4ym/rPqC0SI+Z3EJZSLbiwjh1jmMiLbrsguYROSIOFrVO\noyYmjCUnc5Dxs04Q8VK80NuDFxCVEaK19esxFzCcFYDTiXoocem6EccCAwEAAaNj\nMGEwHQYDVR0OBBYEFJOQTjwIZb078bHcHzxNnkUiCKW1MB8GA1UdIwQYMBaAFJOQ\nTjwIZb078bHcHzxNnkUiCKW1MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD\nAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQAyCYD4IShYuU66OQAPz0/P4rVUr+mfKX0s\nYhnWRY+hLm4M0zp51/H9XGnHUZwGf3No3I0vWFDZHZShKt/GemCZy/WOJzjDGH71\ncNraMm/Bn2c7RXEqzK0qaKdgVo4vrS9inGExGtTRywEc+fLgH+myVR+Dy6JfxpeW\nFarMpu5AyoAWYRwUVaEQXotBF/XZHetaYr1mk9p3qNQkTEnv8zOWFF5Sv5R0I3XM\nABqk5Lz2WyRJIIL0g/9TdWZF88KrQhnr1q9JnTgAg3aTvyTR8c+Oik+BlRUe1zw1\n7TUvuVJkR50uEKZ0IVdWGtNCEzPl1PPMxzUAomozhZRh7vhuBk+yThaDByinaSvC\nxVzufk3hjrnPA0+ZyD4nVcMs3oivl5Vxli/KJrdYiQoErkbTmEgDCzSm0g/14BvJ\nHmlpITgolQGA1SFQCJcrioYn1Eyv4hSrnQtwP+t3t/G4OHbbEeu2pgqvZKEMngNL\naUGla0fwJtytoAqspWxuFwYxJWl5cse1xpsbrf5aiDphqCfSZARr8jzeYtYF8sex\n/8yzy1YmgDlSLng0kFqjLgP8SHLEgKMCOCP/haAHBaDqIu/9FMPofqlG0YJuqTB3\ndf0zohxxcIDZn17qElOVCRoUQVoz2rbYKHHZ8/MVWM7lPmUIqt2G6HlcMo1xYUa4\nfgCQMqEubg==\n-----END CERTIFICATE-----"
CERT="-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIUXKLNUFsfUc3xSpmCKj35dAP3oe8wDQYJKoZIhvcNAQEL\nBQAwcTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRUwEwYDVQQHDAxTYW5GcmFu\nY2lzY28xGDAWBgNVBAoMD0dsb2JlQW5kQ2l0aXplbjEPMA0GA1UECwwGTGF5ZXI4\nMRMwEQYDVQQDDAptVExTUm9vdENBMB4XDTI1MDkyNDE5MTAyNVoXDTM1MDkyMjE5\nMTAyNVowdDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRUwEwYDVQQHDAxTYW5G\ncmFuY2lzY28xGDAWBgNVBAoMD0dsb2JlQW5kQ2l0aXplbjEPMA0GA1UECwwGTGF5\nZXI4MRYwFAYDVQQDDA1mb3J3YXJkLXByb3h5MIICIjANBgkqhkiG9w0BAQEFAAOC\nAg8AMIICCgKCAgEAq4JLgH1rmbSe2/6VFydzdxGsq0oDE9cKOagWxdd9lFqen+LL\nB+vDFV6d0n+CHDkhLsgi5ASGhSl5o232FI/Tgf4YqHQ0C3touGs2ysuI51WT2hzV\nPOFHemgveHNKk+yVHabZp5ypm4kYgMegknhFAtKytAC4g6IcHUX+t9gz+ucA0D8C\n+kuYJiaVd2IML8rF4RCGruZ6WuOcLeHF7byfucT/r9tT3IhdbHtLWOOw6mmtRuAl\nUexiXN+ipxmaAgSyAZrR9CwOo2xp9p5XL2Mn3VKHa6AGZya8QobnN16Dm+JOCoIl\n/C8b7w2H9mC6/GA2kmdxuD0+MyWFnK9DrbT+VYBgubXHeyKAR9mddn0ur7WNBeMl\ntNKufyS9J0Od3S8dERjw05Fl7jGJJj82B1zR/bKbq3v3IIteeTHm6sea2fV0vIw1\n2MBUF5ax60Jdeo71vHf4CVg01F3LBb9ar1LRVNgvrqThach6CDbvHPICXEFHV9OP\nil8PHIgUwon5iySfzfjPxIF0EnkGUR7B5iFYlcG1vSvbSW30sGQ67a9RWBfIll1m\nON1PhLZ5rnslgj6KxNReheaLSe/u4f17QxMrwLw/W3vwOm2SymUcMpwCAaLYtxd+\n6W6zaKy9g0wXeUaEbKBzaOdLqixJ4mL6NVYjEqlXJ5BuQ25iauafpRJz/vcCAwEA\nAaNCMEAwHQYDVR0OBBYEFHrJpAogeNfUj4GhwcrHVYMzXhMeMB8GA1UdIwQYMBaA\nFJOQTjwIZb078bHcHzxNnkUiCKW1MA0GCSqGSIb3DQEBCwUAA4ICAQBdQuPBEGma\nU4puro0xFlpIeOVOUf7eVMHeJuBCiDmBr8C+kae9XuShRYP/OMgGxQ7Y95BJo/C7\nTMwF5ugDQrsRod4EaTEO8ZXGcZq91v4YfegAJ9gQpR/OdniO5dDxfPMlY/VZEyK9\nwHIaUVUP+fiWk9yDwuTPZz+0xF3x2oujBO0JZTsHAbGaZ0CtNW1M5JwFF6aVD5Fs\nPave34wfDEbUg/7WKnZy6pNoxlkgdEsS1QThQ817pE9tTpGJS+9r+JjTSg9AL/W9\nQTvBB96WUsrRqJ2V+XXZ6FjDzPmWC4cfABh24S1NIdygB6uUJ6WLg8HN9tIjH+6O\noDvxCBjUE1444O6c9Z6cdxBvdICrIRN9wc1WhspBqRf4nXtRidFyrV2KDW9TMQXZ\nMOGXrhqgC1lwtKTc2iT8x74qQe8ARSArKNeTjJEiGwbc7+9wG8lf0b0zKWxwlTmg\nmAy8jVEkHmLvkZqKmaW59wUxkaAiBO2TNwjiwDkwPY8ET6DyGd/x4oG6QdocKF87\naOetHnMjTSpUj01sKFpveyTqoAF0UNilmJsUE2AO0BHsxj7Pe+ysLx1yUPiuKJX2\nUMHK/obbGgwu/5BGDXoafQlYu77ZyL/4oqnGYk/s7IGJaw/yVOrmGuuaF0h8RJfV\nOYxd3wTVC8r46A49VExTqvuYdwaAiovdaw==\n-----END CERTIFICATE-----"
KEY="-----BEGIN PRIVATE KEY-----\n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\n7zyoZqd4bAj7xvPuj8lMdThXtKSz86hK\n-----END PRIVATE KEY-----"
Expand Down
24 changes: 15 additions & 9 deletions forward-proxy/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,30 @@ version = "0.3.5"
edition = "2024"

[dependencies]
pingora-router = { path = "../pingora-router", version = "0.1.0" }
async-trait = "0.1"
bytes = "1.10.1"
clap = { version = "3.2.25", features = ["derive"] }
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.140"
log = "0.4.27"
chrono = "0.4.40"
reqwest = { version="0.11", default-features=false, features=["json", "rustls-tls"] }
tokio = { version = "1.44.2", features = ["rt-multi-thread", "macros"] }
reqwest = { version = "0.11", default-features = false, features = [
"json",
"rustls-tls",
] }
pingora = { version = "0.5.0", features = ["lb", "boringssl"] }
jsonwebtoken = "9.3.1"
dotenv = "0.15.0"
futures = "0.3.31"
pingora-router = { path = "../pingora-router", version = "0.1.0" }
once_cell = "1.21.3"
pingora-error = "0.5.0"
boring = "4.17.0"
env_logger = "0.11.8"
utils = { path = "../utils", version = "0.1.0" }
hex = "0.4.3"
envy = "0.4.2"
hotpath = { git = "https://github.com/pawurb/hotpath.git", branch = "develop", optional = true }
tracing = "0.1"
tokio = { version = "1.48.0", features = ["full"] }

[features]
hotpath = ["dep:hotpath", "hotpath/hotpath"]
hotpath-alloc-bytes-total = ["hotpath/hotpath-alloc-bytes-total"]
hotpath-alloc-count-total = ["hotpath/hotpath-alloc-count-total"]
hotpath-alloc-self = ["hotpath/hotpath-alloc-self"]
hotpath-off = ["hotpath/hotpath-off"]
27 changes: 27 additions & 0 deletions forward-proxy/benchmarks/base_impl.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[hotpath] timing - Execution duration of functions.
guard_timeout::main: 60.00s
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| Function | Calls | Avg | P50 | P95 | P99 | Total | % Total |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| guard_timeout::main | 1 | 60.00s | 10.01s | 10.01s | 10.01s | 60.00s | 100.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| handler::get_public_key | 5 | 13.61ms | 8.72ms | 36.96ms | 36.96ms | 68.07ms | 0.11% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| handler::handle_init_tunnel_request | 5 | 13.65ms | 8.73ms | 37.03ms | 37.03ms | 68.26ms | 0.11% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::response_body_filter | 162 | 46.88µs | 15.46µs | 172.03µs | 657.41µs | 7.59ms | 0.01% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::response_filter | 26 | 123.00ns | 83.00ns | 167.00ns | 1.33µs | 3.21µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::upstream_request_filter | 26 | 89.00ns | 83.00ns | 167.00ns | 459.00ns | 2.33µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| handler::handle_init_tunnel_response | 5 | 197.25µs | 98.75µs | 653.82µs | 653.82µs | 986.25µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::request_filter | 41 | 702.00ns | 291.00ns | 1.08µs | 12.38µs | 28.79µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::upstream_peer | 30 | 301.00ns | 250.00ns | 875.00ns | 1.00µs | 9.04µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| handler::verify_int_fp_jwt | 43 | 45.69µs | 23.76µs | 83.90µs | 680.45µs | 1.96ms | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::request_body_filter | 56 | 214.00ns | 42.00ns | 625.00ns | 4.92µs | 12.00µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
27 changes: 27 additions & 0 deletions forward-proxy/benchmarks/reduce_cloning_in_pringora_router.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[hotpath] timing - Execution duration of functions.
guard_timeout::main: 60.01s
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| Function | Calls | Avg | P50 | P95 | P99 | Total | % Total |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| guard_timeout::main | 1 | 60.01s | 10.01s | 10.01s | 10.01s | 60.01s | 100.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| handler::get_public_key | 5 | 13.71ms | 8.78ms | 33.01ms | 33.01ms | 68.54ms | 0.11% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| handler::handle_init_tunnel_request | 5 | 13.76ms | 8.83ms | 33.05ms | 33.05ms | 68.78ms | 0.11% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| handler::verify_int_fp_jwt | 46 | 33.89µs | 17.26µs | 85.89µs | 293.38µs | 1.56ms | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| handler::handle_init_tunnel_response | 5 | 42.98µs | 30.85µs | 96.77µs | 96.77µs | 214.92µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::request_filter | 40 | 490.00ns | 208.00ns | 1.92µs | 2.96µs | 19.62µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::upstream_request_filter | 28 | 58.00ns | 42.00ns | 84.00ns | 84.00ns | 1.63µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::upstream_peer | 28 | 297.00ns | 208.00ns | 750.00ns | 1.25µs | 8.33µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::response_body_filter | 72 | 25.17µs | 8.84µs | 51.94µs | 768.51µs | 1.81ms | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::request_body_filter | 58 | 116.00ns | 42.00ns | 458.00ns | 500.00ns | 6.75µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
| proxy::response_filter | 28 | 77.00ns | 42.00ns | 208.00ns | 250.00ns | 2.17µs | 0.00% |
+--------------------------------------+-------+----------+----------+----------+----------+----------+---------+
26 changes: 13 additions & 13 deletions forward-proxy/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,19 @@ pub struct TlsConfig {
pub key: String,
}

impl LogConfig {
pub fn to_level_filter(&self) -> log::LevelFilter {
match self.log_level.to_uppercase().as_str() {
"INFO" => log::LevelFilter::Info,
"DEBUG" => log::LevelFilter::Debug,
"WARNING" => log::LevelFilter::Warn,
"ERROR" => log::LevelFilter::Error,
"TRACE" => log::LevelFilter::Trace,
"OFF" => log::LevelFilter::Off,
_ => log::max_level()
}
}
}
// impl LogConfig {
// pub fn to_level_filter(&self) -> log::LevelFilter {
// match self.log_level.to_uppercase().as_str() {
// "INFO" => log::LevelFilter::Info,
// "DEBUG" => log::LevelFilter::Debug,
// "WARNING" => log::LevelFilter::Warn,
// "ERROR" => log::LevelFilter::Error,
// "TRACE" => log::LevelFilter::Trace,
// "OFF" => log::LevelFilter::Off,
// _ => log::max_level()
// }
// }
// }

impl TlsConfig {
pub fn load(&mut self) -> Result<(), String> {
Expand Down
Loading
Loading