I hereby claim:
- I am thrawn01 on github.
- I am thrawn01 (https://keybase.io/thrawn01) on keybase.
- I have a public key whose fingerprint is 6EA5 522C 9421 E0DF 5977 5DD0 EED2 42A0 8260 A66E
To claim this, I am signing this object:
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
Version 2, December 2004 | |
Copyright (C) 2011 YOUR_NAME_HERE <YOUR_URL_HERE> | |
Everyone is permitted to copy and distribute verbatim or modified | |
copies of this license document, and changing it is allowed as long | |
as the name is changed. | |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
#! /usr/bin/env bash | |
echo "before exec" | |
TIMESTAMP_FORMAT=${TIMESTAMP_FORMAT:-"%F-%H%M%S"} | |
LOGFILE=test.$(date "+$TIMESTAMP_FORMAT") | |
# Redirect stdout/stderr to tee to write the log file | |
exec 1> >( tee "${LOGFILE}" ) 2>&1 | |
echo "after exec" |
I hereby claim:
To claim this, I am signing this object:
package main | |
import ( | |
"fmt" | |
"log" | |
"os" | |
"time" | |
etcd "github.com/coreos/etcd/client" | |
"github.com/thrawn01/args" |
func (c *TagsAPIController) List(w http.ResponseWriter, r *http.Request, params map[string]string) (interface{}, error) { | |
val := NewValidator() | |
val.Param("limit").IsInt().Default("1000").Max(1000).Min(0) | |
val.Param("resolution").Allowed([]string{"month", "day", "year"}) | |
val.Param("page").Allowed([]string{"first", "last", "next", "prev"}).Default("first") | |
val.Param("prefix") | |
val.Param("tag") | |
params, err := val.Validate(r) | |
if err != nil { | |
return nil, err |
// I would like to see somthing like this | |
limit, err := validate.Int(r, "limit").Max(1000).Min(0).Default(1000).Value() | |
if err != nil { | |
return nil, err | |
} | |
// Over this | |
limit, err := scroll.GetIntField(r, "limit") | |
if err != nil { | |
if (err != scroll.MissingFieldError{"limit"}) { |
TAG Aggregation
scout.Watcher
will be notified whenever a tag is used by an event and track each tag in a map[]
.scout.Watcher
will iterate over the map[]
and call the method
WorkerPool.UpdateTags()
which will run a job inside a go routine that runs the followingfunc (t *tagAggregate) Update(id types.LevelID, tag string) {
// Retrieve the tag entry
func (t *tagAggregate) findFirstSeen(id types.LevelID, tag string) time.Time { | |
// Start time is always the date scout started counting tags | |
timeLine := types.NewTimeLine(time.Date(2014, 1, 1, 0, 0, 0, 0, time.UTC), time.Now(), types.Month) | |
timeStamps := timeLine.ToStringArray() | |
records := make(chan *counter.Record, 20) | |
for event := range []string{"accepted", "rejected"} { | |
for _, timeStamp := range timeStamps { | |
go func() { |
package tagger | |
import ( | |
"time" | |
"fmt" | |
"github.com/mailgun/sandra" | |
"github.com/mailgun/scout/config" | |
"github.com/mailgun/scout/model/types" |
thrawn at Derricks-MBP in ~/mesos | |
$ ls ~/.minimesos/bin/minimesos | |
/Users/thrawn/.minimesos/bin/minimesos | |
thrawn at Derricks-MBP in ~/mesos | |
$ cat ~/.minimesos/bin/minimesos | |
#!/usr/bin/env bash | |
set -e |