-
Notifications
You must be signed in to change notification settings - Fork 75
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
Android OS library #136
Comments
Thanks for the request. Could you share more details about your use case? Specifically:
We ask because we could have different designs of the compression library that explore different trade-offs. We are happy to schedule a meeting to discuss further. |
The current moderate increase in memory and CPU is acceptable, and how much can the compression ratio be improved? |
I Have same need as well.
|
@diy1 like @chengquanzhao said
|
How about we package CLP's compression into a logging library that provides the same APIs as the Android's standard logging libraries (android.util.Log)? That way app developers only need to import our logging library without changing the actual logging statements. Ideally we’d implement CLP's compression as a plugin for the logging library, like what we did for Python, Go, and Log4j which were deployed at Uber. In those cases, applications don't even need to change the import, but it looks like ART's logging library doesn't support plugins (so we can't do it unless you're building Android yourself). Or are you trying to compress raw log files that are already generated (which requires CLP as a standalone tool)? A bit more background:CLP started as a standalone tool that takes raw log files as input, compresses them into a compressed format that we call archive, and then the archives can be searched without full decompression. The compression ratio of CLP archives is about 2x compared to directly compressing logs using Gzip or Zstandard. But one issue with CLP is that compression requires hundreds of MBs of memory (in order for it to buffer enough parsed logs before compressing them into a columnar format). This overhead may not be acceptable for resource-constrained environments, so we developed a new real-time, resource-efficient compression. It uses a streaming compression protocol to compress the logs into an intermediate format (IR) without any buffering—this streaming compression is what we implemented in the logging libraries mentioned above. The IR can later be aggregated into archives by CLP. The architecture is shown below. The compressed IR (IR for short) has the following advantages over directly compressing logs using general-purpose compressors:
So if we built an Android logging library that outputs compressed IR, you could use it to compress logs directly from your apps. Then, you could view those compressed logs in our log viewer, further compress them using CLP, and also search them using CLP. |
Yeap,I am trying to compress logs on AOSP as a test. |
hi diy, |
Please contact us at [email protected]. |
Request
I want to try using CLP on Android,for compressing log on Android
Possible implementation
provide a library like jar,or program for android 64bit os. tks
The text was updated successfully, but these errors were encountered: