agentlytics
Comprehensive analytics dashboard for AI coding agents — Cursor, Windsurf, Claude Code, VS Code Copilot, Zed, Antigravi…
purr is a zsh CLI tool for viewing and searching through Android logcat output. It leverages fzf to provide a simple ye…
git clone https://github.com/google/purr.gitgoogle/purrpurr is a zsh CLI tool for viewing and searching through Android logcat output. It leverages fzf to provide a simple yet powerful user interface, fuzzy-finding capabilities, and much more.
While Android Studio's logcat viewer is sufficient for most app development, it breaks down when exposed to situations such as terminal-only access or when multiple devices need to be accessed quickly. When performing development on the Android operating system itself, developers revert to using raw adb logcat in shell.
This is sub-optimal and wastes a lot of time on writing grep statements and rooting through uncolored, unfiltered text with poor user experience. purr is meant as a solution to this; a powerful logcat viewer running entirely on the shell, capable of going through millions of logs quickly, while leveraging other shell-based solutions for common problems.
Purr can be used for simple app debugging, in which it provides a quicker interface than standard Logcat.
For more complex diagnosis, purr shines in quickly jumping around and isolating relevant logs.
There's even a mode to search through adb shell results; no more grepping through dumpsys!
brew install purr
purr currently functions on Ubuntu Linux and Mac on zsh, and requires a local install of fzf with version 0.40.0 or higher, perl, and adb.
Some purr commands require a program to copy to clipboard. purr will check automatically for installations of pbcopy, xsel, and wl-copy. If the COPY_PROGRAM variable is set, purr will attempt to use it. If you are unsure of which copy program to use, a version of OSC52 copy is bundled and can be used if it is added to your path (and your terminal supports OSC52).
Support for Windows may be provided in future, but is not a current priority.
purr includes a simple tool to help select the device serial from adb devices, or can read from the $ANDROID_SERIAL environment variable if set. Otherwise, purr has the following command-line parameters:
adb that will be used as well as the defaults whenever an input stream is selected.fzf. Used on top of default parameters.purr being opened.purr version.purr and dependencies.There are also the following special command line parameters that should only be used for testing and debugging:
adb with the given binary. This can be used in conjunction with the bundled adb_mock binary to perform basic testing on purr.fzf when reached in the execution loop; return as if fzf executed correctly.Any other command-line parameters will print the help dialog.
Note that both -a and -f are read without validation; there is no guarantee that setting either parameter will not break purr.
purr. Ctrl-c and other methods also work, but may take longer, and may not gracefully exit.purr saves a query string to history once it has not been changed for more than 3.5 seconds. You can use the following hotkeys to access history:
When scrolling through history with alt-shift-up or alt-shift-down, your position in the history will reset once a string has been in the query for 3.5 seconds.
When you select a single line and press Ctrl-V, purr will open the selected line and surrounding context in a text editor. You can specify the text editor through the $EDITOR or $EDITOR_PURR environment variables; if no text editor is specified, purr will use vim.
Note that logcat uses ANSI color codes to display color, so an editor that supports these codes is recommended; for example, AnsiEsc for Vim.
If multiple lines are selected, only those selected lines will be opened in the text editor.
If you've found an error, please file an issue:
https://github.com/google/purr/issues
Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub.
Copyright 2022 Google LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
more like this
Comprehensive analytics dashboard for AI coding agents — Cursor, Windsurf, Claude Code, VS Code Copilot, Zed, Antigravi…
Free open-source Cloudflare R2 desktop client and S3 GUI for macOS, Windows, and Linux. Manage Cloudflare R2, AWS S3, M…
meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…
search projects, people, and tags