Robert Landers
07842f4036
switch to cloxcache
...
Signed-off-by: Robert Landers <landers.robert@gmail.com >
2025-12-06 12:28:13 +01:00
Max
c9ad9fc55a
headerKeyCache: use otter v2 ( #2040 )
...
Benchmarks show that version 1, while extremely fast with hot keys,
becomes several times slower than no‑cache under frequent misses.
Version 2 delivers consistently better performance across all scenarios,
with no allocations and stable latency.
```
BenchmarkGetUnCommonHeaderNoCacheSequential-12 7545640 169.4 ns/op 72 B/op 4 allocs/op
BenchmarkGetUnCommonHeaderV2Sequential-12 14471982 85.98 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderV1Sequential-12 19748048 59.63 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderNoCacheParallelOneKey-12 24352088 44.47 ns/op 72 B/op 4 allocs/op
BenchmarkGetUnCommonHeaderV2ParallelOneKey-12 91024160 11.76 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderV1ParallelOneKey-12 192048842 6.186 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderNoCacheParallelRandomMaximumSize-12 26261611 43.07 ns/op 62 B/op 3 allocs/op
BenchmarkGetUnCommonHeaderV2ParallelRandomMaximumSize-12 100000000 14.43 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderV1ParallelRandomMaximumSize-12 137813384 8.965 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderNoCacheParallelRandomLenKeys-12 24224664 46.57 ns/op 71 B/op 3 allocs/op
BenchmarkGetUnCommonHeaderV2ParallelRandomLenKeys-12 69002575 17.42 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderV1ParallelRandomLenKeys-12 8498404 253.1 ns/op 42 B/op 1 allocs/op
```
---------
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
2025-12-01 11:37:40 +01:00
Kévin Dunglas
e6b3f70d91
chore: bump deps
2025-11-23 23:13:12 +01:00
Kévin Dunglas
75a48e81a7
chore: bump deps
2025-11-18 11:48:59 +01:00
Kévin Dunglas
41cb2bbeaa
feat: mercure_publish() PHP function to dispatch Mercure updates ( #1927 )
...
* feat: mercure_publish() PHP function to dispatch Mercure updates
* fix stubs for old versions
* review
* cleanup and fixes
2025-11-18 09:59:53 +01:00
Alexandre Daubois
40cb42aace
chore: bump net
2025-11-17 15:09:30 +01:00
Alexandre Daubois
b49aed1934
chore: bump deps
2025-10-31 16:51:26 +01:00
dependabot[bot]
219a5407ff
chore: bump the go-modules group with 2 updates ( #1903 )
2025-09-29 17:56:28 +02:00
Kévin Dunglas
460d63e436
chore: bump deps and check go.mod files are clean in CI
2025-08-28 19:16:01 +02:00
Alexandre Daubois
99bb87167e
chore: bump deps
2025-08-27 15:56:40 +02:00
Alexandre Daubois
d7aebedd2d
chore: bump golang.org/x/net to v0.43.0
2025-08-18 11:27:19 +02:00
Kévin Dunglas
5f153e06d6
chore: upgrade to Go 1.25 ( #1811 )
...
* chore: upgrade to Go 1.25
* free all interned strings (test)
* Revert "free all interned strings (test)"
This reverts commit 34823baadb .
* Another test.
* Another test
* ASAN_OPTIONS: detect_leaks=0
* Update sanitizers.yaml
* Update sanitizers.yaml
* Update sanitizers.yaml
---------
Co-authored-by: Alliballibaba <alliballibaba@gmail.com >
2025-08-18 10:46:03 +02:00
Alexandre Daubois
6ad34b1cb3
chore: bump deps
2025-08-14 15:27:29 +02:00
Kévin Dunglas
0c25b2488c
chore: bump deps
2025-07-16 13:29:04 +02:00
Kévin Dunglas
80de1f8bc7
chore: bump deps ( #1702 )
2025-06-30 14:36:26 +02:00
Kévin Dunglas
abfd893d88
feat: FrankenPHP extensions ( #1651 )
...
* feat: add helpers to create PHP extensions (#1644 )
* feat: add helpers to create PHP extensions
* cs
* feat: GoString
* test
* add test for RegisterExtension
* cs
* optimize includes
* fix
* feat(extensions): add the PHP extension generator (#1649 )
* feat(extensions): add the PHP extension generator
* unexport many types
* unexport more symbols
* cleanup some tests
* unexport more symbols
* fix
* revert types files
* revert
* add better validation and fix templates
* remove GoStringCopy
* small fixes
---------
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* try to fix tests
* fix CS
* try some workarounds
* try some workarounds
* ingore TestRegisterExtension
* exclude cgo tests in Docker images
* fix
* workaround...
* race detector
* simplify tests and code
* make linter happy
* feat(gofile): use templates to generate the Go file (#1666 )
---------
Co-authored-by: Alexandre Daubois <2144837+alexandre-daubois@users.noreply.github.com >
2025-06-25 10:18:22 +02:00
Kévin Dunglas
12f469e701
chore: bump deps ( #1643 )
2025-06-19 19:10:59 +02:00
Kévin Dunglas
afa7dafe1c
chore: bump deps
2025-05-16 09:22:00 +02:00
Kévin Dunglas
0d12a5162d
fix: use local Go toolchain ( #1546 )
2025-05-11 22:30:19 +02:00
Alexander Stecher
a48db9422d
fix: go toolchain versioning ( #1545 )
...
* Removes toolchain requirements.
* trigger
* Removes explicit calls to go get
* trigger
* Update static-builder-musl.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update static-builder-musl.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update static-builder-gnu.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* trigger
* trigger
---------
Co-authored-by: Alliballibaba <alliballibaba@gmail.com >
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
2025-05-11 09:18:45 +02:00
Indra Gunawan
1ec37f6cc9
feat: replace zap with slog ( #1527 )
2025-04-26 11:04:46 +02:00
Indra Gunawan
8febee71af
chore: update Go and toolchain version ( #1526 )
2025-04-23 11:02:37 +02:00
Kévin Dunglas
7f8e43fd62
feat: upgrade to Caddy 2.10
2025-04-22 16:15:11 +02:00
Kévin Dunglas
565b3a9629
chore: bump deps ( #1455 )
2025-03-24 11:56:20 +01:00
Indra Gunawan
87315a19ae
feat: introduces worker name option, use label on worker metrics instead ( #1376 )
...
* add worker name option and use it in logs and metrics, update tests
* fix missing reference for collector
* update tests
* update docs
* fix conflict
* add missing allowedDirectives
* update tests
2025-03-22 12:32:59 +01:00
Kévin Dunglas
409c0fdf5f
chore: bump deps ( #1434 )
2025-03-10 15:35:17 +01:00
Kévin Dunglas
251567a617
fix: Mercure duplicate metrics panic ( #1393 )
...
* fix: Mercure duplicate metrics panic
* tidy
* ci: clang-format
2025-02-19 12:40:59 +01:00
Kévin Dunglas
f61bc180c4
chore: upgrade to Go 1.24
2025-02-18 07:33:36 +01:00
Kévin Dunglas
7bd6ca89b0
chore: bump deps
2025-01-28 11:19:14 +01:00
Kévin Dunglas
19344a0dfe
chore: bump deps
2025-01-08 20:54:21 +01:00
Kévin Dunglas
2276129c6d
feat(caddy): upgrade to Caddy 2.9.0
2025-01-06 13:34:53 +01:00
Kévin Dunglas
e2687dbeb9
chore: bump deps
2024-12-21 19:05:53 +01:00
Kévin Dunglas
79ab84dad7
chore: bump deps
2024-12-18 17:12:50 +01:00
Kévin Dunglas
2f3e4b650b
chore: bump deps ( #1235 )
...
* chore: bump deps
* chore: bump indirect deps
* downgrade Brotli
2024-12-10 14:58:26 +01:00
Kévin Dunglas
a1797c49b0
chore: bump deps ( #1187 )
2024-11-23 13:53:08 +01:00
Kévin Dunglas
172b598f3b
chore: bump deps ( #1150 )
2024-11-11 23:24:42 +01:00
Kévin Dunglas
75dab8f33d
chore: bump deps and misc improvements ( #1135 )
2024-11-04 16:42:15 +01:00
Kévin Dunglas
2532eb5887
chore: compile without nosql's support for Postgres and MySQL ( #1112 )
2024-10-22 22:50:31 +02:00
Kévin Dunglas
f43de0ccf5
chore: bump deps
2024-10-18 15:47:09 +02:00
Rob Landers
5d43fc2c8d
add basic metrics ( #966 )
...
* add metrics
* change how counting works
* also replace dots
* check that metrics exist
* rename NullMetrics to nullMetrics
* update go.sum
* register collectors only once
* add tests
* add tests for metrics and fix bugs
* keep old metrics around for test
* properly reset during shutdown
* use the same method as frankenphp
* Revert "keep old metrics around for test"
This reverts commit 1f0df6f6bdaebf32aec346f068d6f42a0b5f4007.
* change to require.NoError
* compile regex only once
* remove name sanitizer
* use require
* parameterize host port because security software sucks
* remove need for renaming workers
* increase number of threads and add tests
* fix where frankenphp configuration was bleeding into later tests
* adds basic docs for metrics
* Add caddy metrics link
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Fix typos
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* address feedback
* change comment to be much more "dangerous"
---------
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
2024-09-26 09:53:37 +02:00
Kévin Dunglas
861fd8b2fa
fix: remove toolchain in go.mod
2024-09-25 19:28:24 +02:00
Kévin Dunglas
d968334371
chore: bump deps
2024-08-27 12:02:39 +02:00
Kévin Dunglas
b87cf4e8b9
chore: bump deps
2024-07-08 16:21:06 +02:00
dependabot[bot]
d99ce659f6
chore: bump golang.org/x/net from 0.25.0 to 0.26.0
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.25.0 to 0.26.0.
- [Commits](https://github.com/golang/net/compare/v0.25.0...v0.26.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-10 13:30:22 +02:00
Kévin Dunglas
ea83ea6dbd
chore: bump deps
2024-05-13 15:35:26 +02:00
dependabot[bot]
4a97a40f4a
chore: bump golang.org/x/net from 0.22.0 to 0.24.0
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.22.0 to 0.24.0.
- [Commits](https://github.com/golang/net/compare/v0.22.0...v0.24.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-23 14:35:38 +02:00
Kévin Dunglas
06f7c9448f
chore: bump deps
2024-04-23 12:08:48 +02:00
Kévin Dunglas
822f80829e
chore: bump deps
2024-03-12 22:20:16 +01:00
Kévin Dunglas
07a74e5c5a
perf: reduce allocs when creating $_SERVER ( #540 )
...
* perf: reduce allocs when creating $_SERVER
* improve
* refactor: prevent C allocs when populating $_SERVER
* cs
* remove append()
* simplify
* wip
* cleanup
* add cache
* cleanup otter init
* some fixes
* cleanup
* test with a leak
* remove const?
* add const
* wip
* wip
* allocate dynamic variables in Go memory
* cleanup
* typo
* bump otter
* chore: bump deps
2024-03-12 18:31:30 +01:00
Kévin Dunglas
2d87fdaf0d
more deps
2024-03-04 18:40:42 +01:00