Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.vscode/
go.sum
bin
vendor
prom2click
9 changes: 0 additions & 9 deletions .travis.yml

This file was deleted.

15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}"
}
]
}
11 changes: 11 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM golang:latest AS build-env
ADD ./ /prom2click
WORKDIR /prom2click
RUN go mod tidy && CGO_ENABLED=0 go build -ldflags "-X main.GitCommit=${GIT_COMMIT}${GIT_DIRTY} -X main.VersionPrerelease=DEV" -o bin/prom2click

FROM alpine
RUN apk add -U tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY --from=build-env /prom2click/bin/prom2click /usr/local/bin/prom2click
RUN chmod +x /usr/local/bin/prom2click
CMD ["prom2click"]
35 changes: 0 additions & 35 deletions Makefile

This file was deleted.

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,11 @@ Usage of ./bin/prom2click:

```
* Build prom2click and run it
* Install go and glide
* Install go 1.21 above

```console
$ make get-deps
$ make build
$ go mod tidy
$ go build -v -o bin/prom2click
$ ./bin/prom2click
```

Expand Down
95 changes: 0 additions & 95 deletions glide.lock

This file was deleted.

20 changes: 0 additions & 20 deletions glide.yaml

This file was deleted.

1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module prom2click
41 changes: 25 additions & 16 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import (
"fmt"
"os"
"time"

"go.uber.org/zap"
)

// a lot of this borrows directly from:
Expand All @@ -28,11 +30,10 @@ type config struct {

var (
versionFlag bool
debug bool
)

func main() {
excode := 0

conf := parseFlags()

if versionFlag {
Expand All @@ -41,27 +42,32 @@ func main() {
if VersionPrerelease != "" {
fmt.Println("Version PreRelease:", VersionPrerelease)
}
os.Exit(excode)
return
}

var logger *zap.Logger
if debug {
logger, _ = zap.NewDevelopment()
} else {
logger, _ = zap.NewProduction()
}

fmt.Println("Starting up..")
defer logger.Sync() // flushes buffer, if any
sugar := logger.Sugar()

srv, err := NewP2CServer(conf)
sugar.Info("Starting up..")

srv, err := NewP2CServer(conf, sugar)
if err != nil {
fmt.Printf("Error: could not create server: %s\n", err.Error())
excode = 1
os.Exit(excode)
sugar.Fatalf("could not create server: %s\n", err.Error())
}
err = srv.Start()
if err != nil {
fmt.Printf("Error: http server returned error: %s\n", err.Error())
excode = 1
sugar.Fatalf("http server returned error: %s\n", err.Error())
}

fmt.Println("Shutting down..")
sugar.Info("Shutting down..")
srv.Shutdown()
fmt.Println("Exiting..")
os.Exit(excode)
sugar.Info("Exiting..")
}

func parseFlags() *config {
Expand All @@ -70,6 +76,9 @@ func parseFlags() *config {
// print version?
flag.BoolVar(&versionFlag, "version", false, "Version")

// turn on debug?
flag.BoolVar(&debug, "debug", false, "turn on debug mode")

// clickhouse dsn
ddsn := "tcp://127.0.0.1:9000?username=&password=&database=metrics&" +
"read_timeout=10&write_timeout=10&alt_hosts="
Expand All @@ -91,12 +100,12 @@ func parseFlags() *config {
)

// clickhouse insertion batch size
flag.IntVar(&cfg.ChBatch, "ch.batch", 8192,
flag.IntVar(&cfg.ChBatch, "ch.batch", 32768,
"Clickhouse write batch size (n metrics).",
)

// channel buffer size between http server => clickhouse writer(s)
flag.IntVar(&cfg.ChanSize, "ch.buffer", 8192,
flag.IntVar(&cfg.ChanSize, "ch.buffer", 32768,
"Maximum internal channel buffer size (n requests).",
)

Expand Down
Loading