go-profiler-notes
vim-go
go-profiler-notes | vim-go | |
---|---|---|
14 | 25 | |
3,483 | 15,858 | |
0.4% | - | |
1.5 | 8.3 | |
about 2 months ago | 8 days ago | |
Jupyter Notebook | Vim Script | |
Creative Commons Attribution Share Alike 4.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-profiler-notes
- The Busy Developer's Guide to Go Profiling, Tracing and Observability
-
Dwarf-Based Stack Walking Using eBPF
Thanks!
As @brancz mentioned, Delve uses DWARF unwind information to produce backtraces (they are stored in the .debug_frame section for Go).
You are right, Go enabled frame pointers for all architectures as of 1.17 [0]. This is enabled to allow profilers to work well, without having to use to techniques such as the one we describe in our post.
When it gets funny is that there's `gopclntab`, a 3rd option in Go to unwind stacks, used by `panic` and I believe other parts of the runtime. If you are interested in more details, Felix Geisendörfer's repo contains way more details [1]
[0]: https://go.dev/doc/go1.17
[1]: https://github.com/DataDog/go-profiler-notes/blob/main/stack...
- Resources to Learn Profiling and Benchmarking
- go-profiler-notes/README.md at main · DataDog/go-profiler-notes
- Fantastic Symbols and Where to Find Them - Part 1
-
Share your must-know Go development tips
this is a good read about pprof https://github.com/DataDog/go-profiler-notes/blob/main/guide/README.md
- The Busy Developers's Guide to Go Profiling, Tracing and Observability
vim-go
-
vim-go debugging
I found a github issue that seems related, but following the steps to start dlv on my own does not work either. https://github.com/fatih/vim-go/issues/3543
-
nvim when I open an empty file from go
There are a handful of really good go plugins that take care of this for you, such as https://github.com/ray-x/go.nvim or https://github.com/fatih/vim-go
-
What's the most commonly used IDE for golang development ?
With vim-go and snippets, neovim has almost the same functionality as GoLand
-
vim-go : anybody know how to install? (Ubuntu kinetic)
So does anyone know how to actually install it? The "instructions" (which I presume had to be dictated by their straight-jacketed author) from GitHub are, utterly useless, requiring the user to already have vim-go installed before beginning vim-go installation. You'll need vim-go to install vim-go, you see, because with a working vim-go installation can the user execute the special command to install vim-go's dependencies (because that's how software works ya know). And, if you have any trouble installing vim-go, it says, not to worry - further instructions have been provided along with your existing vim-go installation - just execute `:help go-install` (requires existing vim-go installation, of course) and from there, it's turtles all the way down! So as long as you have vim-go installed, installing vim-go is a breeze! Am I having an anheurysm right now? What the hell is this?
- Is there any way to autocomplete language functions? For example, show things like fmt.Printf or fmt.Println when writing fmt.Print and pressing the autocomplete key.
-
Help needed : "E492 unknown command :GoInstallBinaries"
git clone https://github.com/fatih/vim-go.git ~/.local/share/nvim/site/pack/plugins/start/vim-go
-
Which editor do you use for your Go coding?
with this wonderful plugin: https://github.com/fatih/vim-go
-
Sometimes broken scroll: not a few lines as usual but a page
Hi, usually Vim works as expected: scroll mouse event move a buffer content for a few lines. But sometimes something broke and every scroll event move a whole screen, like I pressed PageUp or PageDown. I thought that this is a defect with some plugin - because I can reproduce it only with vim-go and mouse=a - without other plugins and configs. I tried multiple terminals, and even boot Ubuntu live USB - still reproducible with my private company codebase, so I cannot share the code. This is my ticket for that plugin - the author said that this is might be something with my system configuration. Please help.
- What's your Golang IDE?
-
Anyone write Go full time using vim?
At first Ihad struggled with some common "IDE" tasks. But then I discovered vim-go and realized that it could do pretty much everything that I need and even more.
What are some alternatives?
fgprof - 🚀 fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as Off-CPU (e.g. I/O) time together.
coc-go - Go language server extension using gopls for coc.nvim.
parca - Continuous profiling for analysis of CPU and memory usage, down to the line number and throughout time. Saving infrastructure cost, improving performance, and increasing reliability.
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
parca-agent - eBPF based always-on profiler auto-discovering targets in Kubernetes and systemd, zero code changes or restarts needed!
go.nvim - A feature-rich Go development plugin, leveraging gopls, treesitter AST, Dap, and various Go tools to enhance the dev experience.
goimpl.nvim - Generate stub for interface on a type
Go for Visual Studio Code
gotests - Automatically generate Go test boilerplate from your source code.
YouCompleteMe - A code-completion engine for Vim
nvim
gocode - An autocompletion daemon for the Go programming language