GithubHelp home page GithubHelp logo

httpsgithu / awesome-go-lantern Goto Github PK

View Code? Open in Web Editor NEW

This project forked from getlantern/awesome-go-lantern

0.0 1.0 0.0 7 KB

Cool libraries, frameworks, tips and tricks and anything that can be useful to share

awesome-go-lantern's Introduction

Awesome Go for Lantern

Cool libraries, frameworks, tips and tricks and anything that can be useful to share.

Inspired by awesome-go, for Lantern.

General

General tools, hacks and techniques with wide usage

  • Preeny - Make it easier to interact with services locally. It can disable fork(), rand(), and alarm() and can convert a server application to a console one.
  • Ratelimit - Simple, thread-safe Go rate-limiter.

Networking

  • Gopacket - Provides packet processing capabilities for Go.

Network Analysis Tools

Tools for interference detection, probing and network analysis in general

Testing

Testing utilities and libraries

  • Go-fuzz - Randomized testing (fuzzing). Mainly applicable to packages that parse complex inputs (both text and binary).
  • Stress - The stress utility is intended for catching of episodic failures. It runs a given process in parallel in a loop and collects any failures.

Network-specific testing

Libraries for network testing.

  • Linkio - Network link speed simulation for Reader/Writer interfaces.
  • Toxiproxy - Proxy to simulate network and system conditions for automated tests.
  • Comcast - Simulation of bad network connections.
  • Gor - HTTP traffic replay in real-time. Replay traffic from production to staging and dev environments. Test code on real user sessions in an automated and repeatable fashion.
  • netem - Network Emulation functionality for testing protocols by emulating the properties of wide area networks. The current version emulates variable delay, loss, duplication and re-ordering.

HTTP Load testing

Tools to generate HTTP traffic

  • Boom - Similiar to Apache Bench but much simpler!
  • Vegeta - More features!

Code Checking

Tools for checking code style and related

  • Errcheck - Checking for unchecked errors in go programs.
  • Golint - A linter for Go source code.
  • GoMetaLinter - Concurrently runs a whole bunch of linters.

Code Analysis

Static code analysis tools that will help you gain insight of the codebase

  • Oracle - The go oracle is a source analysis tool that answers questions about Go programs.

Code Refactoring

Refactoring tools specific for Go

  • Gorename - Precise type-safe renaming of identifiers in Go source code.
  • Gomvpkg - Move go packages, updating import declarations.
  • Goimports - Update Go import lines, adding missing ones and removing unreferenced ones.
  • Eg - Example-based refactoring tool (better instructions running it).

Dynamic Analysis Tools

Tools to inspect and study the program behavior at runtime

  • Race detection - go test -race
  • GC tracing - GODEBUG=gctrace=1 go run <file.go>
  • Scheduler tracing (info) - GODEBUG=schedtrace=1000 go run <file.go>
  • Generic tracing (info) - The capability is compiled into all programs always, and is enabled on demand -- when tracing is disabled it has minimal runtime overhead. That is, the trace can be obtained from a server in production serving live traffic. For visualization, use Google's trace viewer, or type the URL chrome://tracing for an embedded UI in Chrome.
  • panicparse - Groups similar goroutines and colorizes stack dump.

awesome-go-lantern's People

Contributors

fffw avatar uaalto avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.