Skip to content

Remove Jackson from dd-trace-ot#1185

Merged
tylerbenson merged 1 commit into
masterfrom
tyler/remove-jackson
Feb 3, 2020
Merged

Remove Jackson from dd-trace-ot#1185
tylerbenson merged 1 commit into
masterfrom
tyler/remove-jackson

Conversation

@tylerbenson
Copy link
Copy Markdown
Contributor

@tylerbenson tylerbenson commented Jan 22, 2020

Reduced the size of dd-java-agent jar by about 2 MB. Jackson is not removed completely though as it is still a dependency of jmxfetch.

Trace serialization is primarily done directly with msgpack.
Response deserialization and LoggingWriter serialization is done with mochi.

Msgpack Serialization buffer still not being reused though.

(PR based off of #1161... that should be merged first. So focus on the last commit.)

@tylerbenson tylerbenson requested a review from a team as a code owner January 22, 2020 23:10
@tylerbenson tylerbenson force-pushed the tyler/remove-jackson branch 2 times, most recently from c3404ea to af212af Compare January 23, 2020 01:09
writeByte(key, value.byteValue(), destination);
} else if (value instanceof Short) {
writeShort(key, value.shortValue(), destination);
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

else with an exception for unsupported types?

Copy link
Copy Markdown
Contributor

@dougqh dougqh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks things worked out nicely msgpack and Moshi.

I think it would be good to check our stats before merging this.
For the simple MemCheck app, I'd like to know...

  • the number of classes loaded without this change & with this change
  • the amount of metaspace consumed without change & with this change

Reduced the size of dd-java-agent jar by about 2 MB. Jackson is not removed completely though as it is still a dependency of jmxfetch.

Trace serialization is primarily done directly with msgpack.
Response deserialization and LoggingWriter serialization is done with mochi.

Msgpack Serialization buffer still not being reused though.
@tylerbenson
Copy link
Copy Markdown
Contributor Author

Here are my test results:
image

@dougqh Do you think that looks good enough?

@dougqh
Copy link
Copy Markdown
Contributor

dougqh commented Feb 3, 2020

@dougqh Do you think that looks good enough?

Yes, that's actually a bit better than I expected. I was expecting ~300 classes & 2-3MiB from my prior analysis. Looks like we saved 400+ classes and 3.4MiB. Nice!

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.

2 participants