Elena Kolevska
2a7725db63
Adds connection state metrics
...
Signed-off-by: Elena Kolevska <elena@kolevska.com >
2025-12-03 10:01:53 +02:00
Elena Kolevska
d588c3ca71
First draft. One metric - command duration.
...
Signed-off-by: Elena Kolevska <elena@kolevska.com >
2025-12-03 10:00:09 +02:00
Nedyalko Dyakov
981f5db9a2
chore(release): 9.18.0-beta.1 ( #3628 )
...
* bump version to 9.18.0-beta.1
* add release notes
2025-12-02 15:08:54 +02:00
ofekshenawa
f711eb0f62
feat(cluster): Implement Request and Response Policy Based Routing in Cluster Mode ( #3422 )
...
* Add search module builders and tests (#1 )
* Add search module builders and tests
* Add tests
* Use builders and Actions in more clean way
* Update search_builders.go
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
* Update search_builders.go
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
* feat(routing): add internal request/response policy enums
* feat: load the policy table in cluster client (#4 )
* feat: load the policy table in cluster client
* Remove comments
* modify Tips and command pplicy in commandInfo (#5 )
* centralize cluster command routing in osscluster_router.go and refactor osscluster.go (#6 )
* centralize cluster command routing in osscluster_router.go and refactor osscluster.go
* enalbe ci on all branches
* Add debug prints
* Add debug prints
* FIX: deal with nil policy
* FIX: fixing clusterClient process
* chore(osscluster): simplify switch case
* wip(command): ai generated clone method for commands
* feat: implement response aggregator for Redis cluster commands
* feat: implement response aggregator for Redis cluster commands
* fix: solve concurrency errors
* fix: solve concurrency errors
* return MaxRedirects settings
* remove locks from getCommandPolicy
* Handle MOVED errors more robustly, remove cluster reloading at exectutions, ennsure better routing
* Fix: supports Process hook test
* Fix: remove response aggregation for single shard commands
* Add more preformant type conversion for Cmd type
* Add router logic into processPipeline
---------
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com >
* remove thread debugging code
* remove thread debugging code && reject commands with policy that cannot be used in pipeline
* refactor processPipline and cmdType enum
* remove FDescribe from cluster tests
* Add tests
* fix aggregation test
* fix mget test
* fix mget test
* remove aggregateKeyedResponses
* added scaffolding for the req-resp manager
* added default policies for the search commands
* split command map into module->command
* cleanup, added logic to refresh the cache
* added reactive cache refresh
* revert cluster refresh
* fixed lint
* addresed first batch of comments
* rewrote aggregator implementations with atomic for native or nearnative primitives
* addressed more comments, fixed lint
* added batch aggregator operations
* fixed lint
* updated batch aggregator, fixed extractcommandvalue
* fixed lint
* added batching to aggregateResponses
* fixed deadlocks
* changed aggregator logic, added error params
* added preemptive return to the aggregators
* more work on the aggregators
* updated and and or aggregators
* fixed lint
* added configurable policy resolvers
* slight refactor
* removed the interface, slight refactor
* change func signature from cmdName to cmder
* added nil safety assertions
* few small refactors
* added read only policies
* removed leftover prints
* Rebased to master, resolved comnflicts
* fixed lint
* updated gha
* fixed tests, minor consistency refactor
* preallocated simple errors
* changed numeric aggregators to use float64
* speculative test fix
* Update command.go
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
* Update main_test.go
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
* Add static shard picker
* Fix nil value handling in command aggregation
* Modify the Clone method to return a shallow copy
* Add clone method to digest command
* Optimize keyless command routing to respect ShardPicker policy
* Remove MGET references
* Fix MGET aggregation to map individual values to keys across shards
* Add clone method to hybrid search commands
* Undo changes in route keyless test
* remove comments
* Add test for DisableRoutingPolicies option
* Add Routing Policies Comprehensive Test Suite and Fix multi keyed aggregation for different step
---------
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com >
Co-authored-by: Hristo Temelski <hristo.temelski@redis.com >
2025-11-28 11:46:23 +02:00
Nedyalko Dyakov
68d8c59557
chore(release): v9.17.1 ( #3617 )
...
* add release notes
* update version to 9.17.1
2025-11-26 12:20:20 +02:00
Nedyalko Dyakov
5b0b228a37
chore(release): v9.17.0 ( #3604 )
...
* update release notes
* update readme
* update version number
* cleanup release notes
* fix checkMinIdle
2025-11-19 19:53:02 +02:00
ofekshenawa
284d93a4b3
feat(cmd): Add support for MSetEX command ( #3580 )
...
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-11-05 13:35:43 +02:00
pvragov
7f48276660
feat(otel): Add a 'error_type' metrics attribute to separate context errors ( #3566 )
...
Co-authored-by: vragov_pf <vragov_pf@magnit.ru >
2025-10-29 16:09:12 +02:00
Nedyalko Dyakov
f1956565ee
chore(release): 9.16.0 ( #3557 )
...
* notes
* bump version
2025-10-23 18:08:39 +03:00
Udhayarajan
70dfa383fe
feat(otel): add trace filter for process pipeline and dial operation ( #3550 )
...
* feat(tracing): add process pipeline and dial filtering options for tracing
* refactor(tracing): implement default command filter and process pipeline options
* refactor(tracing): rename defaultCommandFilter to DefaultCommandFilter
* refactor(tracing): add BasicCommandFilter as a deprecated alias for DefaultCommandFilter
---------
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-10-22 12:57:15 +03:00
Warnar Boekkooi
8ca21d2600
chore(redisotel): use metric.WithAttributeSet to avoid copy ( #3552 )
...
In order to improve performance replace `WithAttributes` with `WithAttributeSet`.
This avoids the slice allocation and copy that is done in `WithAttributes`.
For more information see https://github.com/open-telemetry/opentelemetry-go/blob/v1.38.0/metric/instrument.go#L357-L376
2025-10-21 14:56:06 +03:00
Hristo Temelski
7aa4a60667
update gomods to align them with the latest beta ( #3539 )
...
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-10-21 11:28:04 +03:00
Jason Parraga
f7eed76fbc
Add support for filtering traces for certain commands ( #3519 )
...
* Add support for filtering commands when tracing
Signed-off-by: Jason Parraga <sovietaced@gmail.com >
* Filter sensitive data by default
Signed-off-by: Jason Parraga <sovietaced@gmail.com >
* Address comments
Signed-off-by: Jason Parraga <sovietaced@gmail.com >
---------
Signed-off-by: Jason Parraga <sovietaced@gmail.com >
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-10-14 18:15:58 +03:00
Hristo Temelski
a44df88257
version 9.15.1, used to retract itself and 9.15.0 ( #3537 )
...
* version 9.15.1, used to retract itself and 9.15.0
* added retract to the submodules
* revert submodules retracts as they are not needed
2025-09-27 23:33:54 +03:00
Hristo Temelski
819f01b489
retract wrongly released version ( #3533 )
2025-09-27 15:38:46 +01:00
Hristo Temelski
7405cff430
depreciate 9.15.0 ( #3532 )
2025-09-27 02:17:21 +03:00
Hristo Temelski
8b38e27f97
release: 9.15.0-beta.2 ( #3531 )
2025-09-26 19:40:07 +03:00
Nedyalko Dyakov
0dcfeefea7
chore(release): 9.15.0-beta.1 ( #3514 )
2025-09-10 23:02:16 +03:00
Hristo Temelski
2da6ca07c0
chore(release): Update the rest of the versions ( #3513 )
...
* chore(release): Update the rest of the versions
* improved tag script
2025-09-10 15:01:18 +03:00
Hristo Temelski
c11a704481
chore(release): v9.14.0 ( #3512 )
2025-09-10 14:33:08 +03:00
Nedyalko Dyakov
52bda7a35a
chore(release): 9.13.0 ( #3500 )
2025-09-03 14:52:32 +03:00
Matthew Hooker
19fdc488a7
chore(otel): register wait metrics ( #3499 )
2025-09-03 13:12:41 +03:00
Matthew Hooker
f0058063a9
feat(otel): Add wait metrics to otel ( #3493 )
...
* Add wait metrics to otel
* add unit
2025-09-02 15:48:18 +03:00
Hristo Temelski
6220024a38
chore(otel): Update otel metrics URL ( #3474 )
2025-08-12 14:07:17 +03:00
Nedyalko Dyakov
7b4a537aef
chore(release): 9.12.1, failover client buffer size fixes ( #3469 )
2025-08-11 18:58:21 +03:00
Nedyalko Dyakov
b7838dc4e7
chore(release): 9.12.0 / redis 8.2 ( #3464 )
2025-08-05 16:50:25 +03:00
Cattī Crūdēlēs
4767d9dfaf
fix(redisotel): fix buggy append in reportPoolStats ( #3122 )
...
The current append twice to `conf.attrs` approach in `reportPoolStats` may result in unexpected idleAttrs,
due to `append` [can mutate](https://github.com/golang/go/issues/29115#issuecomment-444669036 ) the underlying array of the original slice,
as demonstrated at <https://go.dev/play/p/jwRMofH91eQ?v=goprev >.
Also, I replaced `metric.WithAttributes` in `reportPoolStats` with `metric.WithAttributeSet`,
since `WithAttributes` is just `WithAttributeSet` with some extra works that are not needed here,
see <https://pkg.go.dev/go.opentelemetry.io/otel/metric@v1.22.0#WithAttributes >.
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-08-05 15:15:34 +03:00
Nedyalko Dyakov
f006e941d9
chore(release): 9.12.0-beta.1 ( #3460 )
2025-08-04 15:00:37 +03:00
Antonio Mindov
23a87a2137
feat(otel): add closing support to otel metrics instrumentation ( #3444 )
...
closes #3424
2025-07-24 12:48:34 +03:00
Nedyalko Dyakov
0decfdc6ed
chore(release): v9.11.0 ( #3416 )
...
* chore(release): update version to 9.11.0
* chore(release): Add Release Notes for v9.11.0
2025-06-24 14:05:24 +03:00
Warnar Boekkooi
fa475cbc99
feat(redisotel): add WithCallerEnabled option ( #3415 )
...
* feat(redisotel): add WithCaller option
Allow the disabling the collection of the `code.function`, `code.filepath` and `code.lineno` tracing attributes.
When setting `WithCaller(false)` overall performance is increased as the "expensive" `runtime.Callers` and `runtime.(*Frames).Next` calls are no longer needed.
* chore(redisotel): improve docblock language
* chore(redisotel): rename `WithCaller` to `WithCallerEnabled`
---------
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-06-24 10:53:35 +03:00
Nedyalko Dyakov
75e8370a6f
chore(release): Update release notes and versions for v9.10.0 ( #3395 )
2025-06-06 18:30:30 +03:00
Nedyalko Dyakov
c935f96148
release(go-redis): v9.9.0 ( #3390 )
...
* release(go-redis): v9.9.0
- Add release notes
- Update dependencies and version.go
* chore(release-notes) Update release notes
2025-05-27 19:00:07 +03:00
Nedyalko Dyakov
c0be87ec5b
chore(release): sync master after releasing V9.8.0 ( #3365 )
...
* Bump version to 9.8.0-beta1
Update README.md
* Feature more prominently how to enable OpenTelemetry instrumentation (#3316 )
* Sync master with v9.8.0-beta.1 (#3322 )
* DOC-4464 examples for llen, lpop, lpush, lrange, rpop, and rpush (#3234 )
* DOC-4464 examples for llen, lpop, lpush, lrange, rpop, and rpush
* DOC-4464 improved variable names
---------
Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com >
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com >
* update pubsub.go (#3329 )
* use 8.0-RC1 (#3330 )
* drop ft.profile that was never enabled (#3323 )
* chore(deps): bump rojopolis/spellcheck-github-actions (#3336 )
Bumps [rojopolis/spellcheck-github-actions](https://github.com/rojopolis/spellcheck-github-actions ) from 0.47.0 to 0.48.0.
- [Release notes](https://github.com/rojopolis/spellcheck-github-actions/releases )
- [Changelog](https://github.com/rojopolis/spellcheck-github-actions/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rojopolis/spellcheck-github-actions/compare/0.47.0...0.48.0 )
---
updated-dependencies:
- dependency-name: rojopolis/spellcheck-github-actions
dependency-version: 0.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix FT.Search Limit argument and add CountOnly argument for limit 0 0 (#3338 )
* Fix Limit argument and add CountOnly argument
* Add test and Documentation
* Update search_commands.go
---------
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
* fix add missing command in interface (#3344 )
* Use DB option in NewFailoverClusterClient (#3342 )
* DOC-5102 added CountOnly search example for docs (#3345 )
* Add integration tests for Redis 8 behavior changes in Redis Search (#3337 )
* Add integration tests for Redis 8 behavior changes in Redis Search
* Undo changes in ft.search limit
* Fix BM25 as the default scorer test
* Add more tests and comments on deprecated params
* Update search_commands.go
* Remove deprication comment for nostopwords
---------
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
* Use correct slot for COUNTKEYSINSLOT command (#3327 )
* Ensure context isn't exhausted via concurrent query as opposed to sentinel query (#3334 )
* fix: better error handling when fetching the master node from the sentinels (#3349 )
* Better error handling when fetching the master node from the sentinels
* fix error message generation
* close the errCh to not block
* use len over errCh
* docs: fix documentation comments (#3351 )
* DOC-5111 added hash search examples (#3357 )
* fix: Fix panic caused when arg is nil (#3353 )
* Update README.md, use redis discord guild (#3331 )
* use redis discord guild
* add line in CONTRIBUTING.md
* update with badges similar to rest of the libraries. update url
* updated with direct invite link
* fix discord link in CONTRIBUTING.md
* fix stackoverflow tag
---------
Co-authored-by: Elena Kolevska <elena-kolevska@users.noreply.github.com >
* update HExpire command documentation (#3355 )
* update HExpire command documentation
* Apply suggestions from code review
Format the links in the documentation. Add missing documentation.
---------
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
* feat: func isEmptyValue support time.Time (#3273 )
* fix:func isEmptyValue support time.Time
* fix: Improve HSet unit tests
* feat: Improve HSet unit tests
* fix: isEmptyValue Struct only support time.Time
* test(hset): add empty custom struct test
---------
Co-authored-by: Guo Hui <gh7396@gmail.com >
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com >
* fix: `PubSub` isn't concurrency-safe (#3360 )
* migrate golangci-lint config to v2 format (#3354 )
* migrate golangci-lint config to v2 format
* chore: skip CI on migration [skip ci]
* Bump golangci version
* Address several golangci-lint/staticcheck warnings
* change staticchecks settings
* chore(ci): Use redis 8 rc2 image. (#3361 )
* chore(ci): Use redis 8 rc2 image
* test(timeseries): fix duplicatePolicy check
* feat(options): panic when options are nil (#3363 )
Client creation should panic when options are nil.
* chore(release): Update version to v9.8.0
- update version in relevant places
- add RELEASE-NOTES.md to keep track of release notes
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Nikolay Dubina <nikolay.dubina.pub@gmail.com >
Co-authored-by: andy-stark-redis <164213578+andy-stark-redis@users.noreply.github.com >
Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com >
Co-authored-by: Liu Shuang <liushuangbill@outlook.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com >
Co-authored-by: Bulat Khasanov <afti@yandex.ru >
Co-authored-by: Naveen Prashanth <78990165+gnpaone@users.noreply.github.com >
Co-authored-by: Glenn <alohaglenn@icloud.com >
Co-authored-by: frankj <frankxjkuang@gmail.com >
Co-authored-by: Elena Kolevska <elena-kolevska@users.noreply.github.com >
Co-authored-by: Hui <gh73962@gmail.com >
Co-authored-by: Guo Hui <gh7396@gmail.com >
Co-authored-by: fukua95 <fukua95@gmail.com >
2025-05-07 14:40:49 +03:00
fengyun.rui
4cedb5c037
feat: add more stats for otel ( #2930 )
...
Signed-off-by: rfyiamcool <rfyiamcool@163.com >
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com >
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-05-07 11:14:48 +03:00
ofekshenawa
2f0a9b720a
migrate golangci-lint config to v2 format ( #3354 )
...
* migrate golangci-lint config to v2 format
* chore: skip CI on migration [skip ci]
* Bump golangci version
* Address several golangci-lint/staticcheck warnings
* change staticchecks settings
2025-04-29 12:53:06 +03:00
Nedyalko Dyakov
cb3aa19618
Sync master with v9.8.0-beta.1 ( #3322 )
2025-03-25 12:25:35 +02:00
Nedyalko Dyakov
34222bffeb
release 9.7.3, retract 9.7.2 ( #3314 ) ( #3315 )
2025-03-21 13:13:14 +02:00
b1ackd0t
8269e6a22a
fix(tracing): show the whole command rather than truncated version of it ( #3290 )
...
Truncate version of a long key might not be useful when debugging
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com >
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com >
2025-03-18 14:50:29 +02:00
Flc゛
5314a57132
fix(redisotel): fix the situation of reporting spans multiple times ( #3168 )
...
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com >
2025-02-27 17:14:46 +02:00
Nedyalko Dyakov
aa7019d718
V9.7.1 -> master ( #3287 )
2025-02-24 12:45:08 +02:00
Flc゛
40e049e67a
chore(deps): update github.com/cespare/xxhash/v2 to v2.3.0 ( #3265 )
...
* chore(deps): update github.com/cespare/xxhash/v2 to v2.3.0
* chore(deps): update github.com/cespare/xxhash/v2 to v2.3.0
2025-02-10 15:03:50 +02:00
Flc゛
021faad4fa
test(redisotel): rename redisotel_test.go to tracing_test.go and add tracing hook tests ( #3270 )
...
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com >
2025-02-10 14:55:40 +02:00
Vladyslav Vildanov
cc9bcb0c0f
Updated package version ( #3158 )
2024-10-15 16:32:53 +03:00
Ivan Pechorin
9f6171dbf6
properly retract v9.5.3 of redisotel and other extra packages ( #3108 )
2024-09-11 19:35:16 +03:00
Vladyslav Vildanov
00d98485f8
Updated module version that points to retracted package version ( #3074 )
...
* Updated module version that points to retracted package version
* Updated testing image to latest
2024-07-31 11:15:15 +03:00
Vladimir Mihailenco
f752b9a9d5
Release/v9.5.3 ( #3018 )
...
* chore: ignore package.json
* chore: release v9.5.3 (release.sh)
2024-06-07 17:04:08 +03:00
Sam Xie
0f0a28464c
Remove skipping span creation by checking parent spans ( #2980 )
...
* Remove skipping span creation by checking parent spans
* Update CHANGELOG
2024-05-10 09:52:32 +03:00
Endre Sara
f3fe61148b
add server address and port attributes to redis otel trace instrumentation ( #2826 )
...
Co-authored-by: esara <esara@causely.io >
2024-03-27 08:56:11 +02:00
dependabot[bot]
a923df1984
chore(deps): bump google.golang.org/protobuf in /extra/redisprometheus ( #2942 )
...
Bumps google.golang.org/protobuf from 1.28.1 to 1.33.0.
---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 19:24:57 +02:00