<commit_before>![prism logo](https://drive.google.com/uc?export=download&id=0B0tIAvKWmwa5S3J6eUdvUkVyc1U)

[![CircleCI](https://circleci.com/gh/geckoboard/prism.svg?style=svg)](https://circleci.com/gh/geckoboard/prism)
[![Coverage Status](https://coveralls.io/repos/github/geckoboard/prism/badge.svg?branch=master)](https://coveralls.io/github/geckoboard/prism?branch=master)
[![GoDoc](https://godoc.org/github.com/geckoboard/prism?status.svg)](https://godoc.org/github.com/geckoboard/prism)

Prism is a tool that allows you to collect and analyze profiling data from your
go applications. It is not meant to be  used as a replacement for tools like [pprof](https://golang.org/pkg/net/http/pprof/)
but rather as an alternative for cases when you:
- want to collect profile data per **go-routine**,
- do not want to manually modify your project's source to include the profiler instrumentation code,
- want to quickly compare the performance of code between a set of git commits

## Installing

Prism requires go 1.5+. To install it run:

`go get github.com/geckoboard/prism/... && go install github.com/geckoboard/prism`.

You can then run `prism -h` for details on the command line arguments.

## How it works

Prism receives as input the path to your project and a list of **fully qualified** (FQ)<commit_msg>Update install instructions<commit_after>![prism logo](https://drive.google.com/uc?export=download&id=0B0tIAvKWmwa5S3J6eUdvUkVyc1U)

[![CircleCI](https://circleci.com/gh/geckoboard/prism.svg?style=svg)](https://circleci.com/gh/geckoboard/prism)
[![Coverage Status](https://coveralls.io/repos/github/geckoboard/prism/badge.svg?branch=master)](https://coveralls.io/github/geckoboard/prism?branch=master)
[![GoDoc](https://godoc.org/github.com/geckoboard/prism?status.svg)](https://godoc.org/github.com/geckoboard/prism)

Prism is a tool that allows you to collect and analyze profiling data from your
go applications. It is not meant to be  used as a replacement for tools like [pprof](https://golang.org/pkg/net/http/pprof/)
but rather as an alternative for cases when you:
- want to collect profile data per **go-routine**,
- do not want to manually modify your project's source to include the profiler instrumentation code,
- want to quickly compare the performance of code between a set of git commits

## Installing

Prism requires go 1.5+. To install it run:

`go get github.com/geckoboard/prism && go install github.com/geckoboard/prism`.

You can then run `prism -h` for details on the command line arguments.

## How it works

Prism receives as input the path to your project and a list of **fully qualified** (FQ)
{'fraction_non_alphanumeric': 0.12006079027355623, 'fraction_numerical': 0.0060790273556231, 'mean_word_length': 5.025171624713959, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1579472', 'n_tokens_mistral': 885, 'n_tokens_neox': 851, 'n_words': 259}