-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Obfuscation processor and example #191
Conversation
…d light edits to obfuscate attribute names and span names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 minor comments.
Otherwise, LGTM.
cpy.PutStr(o.encryptString(k), o.encryptString(value.Str())) | ||
default: | ||
// TODO: This does not cover all string values, needs | ||
// to be updated for StringSlice and KVList types at |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes slices in general as it's possible to have slice of kvlist containing string, or more complex constructs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I'd like to delay until @moh-osman3 returns.
Other fields include metric description and unit, and I suspect there may be more.
processors: | ||
batch: | ||
obfuscation: | ||
encrypt_key: "some-32-byte-long-key-to-be-safe" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a possible TODO --
@moh-osman3 I had thrown away the key when obfuscating, to be sure it's not stored and used to de-obfuscate to be even-safer than safe, I guess.
This PR was originally authored by @moh-osman3. With him out of town, I've updated it with several commits in my fork, so this is a replacement PR.
This PR:
generatorreceiver
to create synthetic telemetry in a collector pipelineSimple Test
This writes zstd compressed and obfuscated traces to an output file (e.g
cmd/otelarrowcol/recorded_traces.json
)This can be replayed by running
This reads the data in the recorded file and rewrites it in an uncompressed form
You can also read in the compressed file
recorded_traces.json
with the the benchmark tools e.g.(cc @moh-osman3 @lquerel)