Skip to content

USDT support for Redis#6676

Draft
dalehamel wants to merge 5 commits intoredis:unstablefrom
dalehamel:basic-usdt-support
Draft

USDT support for Redis#6676
dalehamel wants to merge 5 commits intoredis:unstablefrom
dalehamel:basic-usdt-support

Conversation

@dalehamel
Copy link

@dalehamel dalehamel commented Dec 16, 2019

An initial WIP/draft at providing USDT / dtrace support to Redis per https://github.com/antirez/redis/issues/93

Tested only on Linux for now, but it generates the correct ELF notes:

Displaying notes found in: .note.stapsdt
  Owner                 Data size       Description
  stapsdt              0x00000036       NT_STAPSDT (SystemTap probe descriptors)
    Provider: redis
    Name: call__start
    Location: 0x0000000000044003, Base: 0x000000000018f970, Semaphore: 0x00000000001d10b2
    Arguments: -4@80(%rbx)
  stapsdt              0x00000034       NT_STAPSDT (SystemTap probe descriptors)
    Provider: redis
    Name: call__end
    Location: 0x000000000004400e, Base: 0x000000000018f970, Semaphore: 0x00000000001d10b4
    Arguments: -4@80(%rbx)

To do

  • Documentation to enable this and basic usage
  • Some basic useful probes, picking up from antirez/redis@unstable...videlalvaro:dtrace and looking at eg memcached probe definitions for inspiration, finding the best spot for these in Redis to start off.
  • Add tests for at least ensuring probes were built in through, eg, readelf on linux. Ideally an e2e test?

@dalehamel
Copy link
Author

@videlalvaro sorry for the ping 8 years later, but this is trying to pick up the work you started in your branch, FYI :)

@dalehamel
Copy link
Author

Note to self, would be ideal to have dtrace macros be guarded by #if 0 preprocessor guard, so that there is no overhead added if dtrace probes aren't supported

@dalehamel
Copy link
Author

Maybe also wrap macros with something that does an UNLIKELY(THING_ENABLED()) guard around each probe?

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@videlalvaro
Copy link

@dalehamel let me get back to you 5 years later haha. Nice work man.

@dalehamel
Copy link
Author

@dalehamel let me get back to you 5 years later haha. Nice work man.

In another 5-8 years, maybe we will even have this mergeable 😅

oshadmi added a commit to oshadmi/redis that referenced this pull request Sep 28, 2025
$ gitlog v8.2.1..v8.2.5

redis#6867 Improve BUILD_INTEL_SVS_OPT flag validation
redis#6845 Fix vector compression type reporting and rename SVS environment variable
redis#6794 Fix rpcountFree casting
redis#6825 Bump vecsim 8.2.4
redis#6787 Fix deadlock while RDB loading and RM_Yield (redis#6763)
redis#6723 Fix ACLUserMayAccessIndex
redis#6701 Fix fd leak when OOM
redis#6676 bump svs version
redis#6671 Add SVS-VAMANA index to info fields telemetry
redis#6665 Optimize rs_wall_clock_diff_ns by removing redundant if branch
redis#6641 Update vectors memory in total index info memory
redis#6634 Log DocTable capacity growth for memory diagnostics
redis#6649 Bump minimal redis version
redis#6648 Fix "has map" performance
redis#6645 Trie: hide expensive memory usage computation behind a test-specific feature flag.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants