Skip to content

Commit

Permalink
Merge pull request #47 from chuntaojun/feat_prometheus
Browse files Browse the repository at this point in the history
[ISSUE #17] Feat prometheus
  • Loading branch information
andrewshan authored May 7, 2022
2 parents fe47737 + 160eae4 commit 873a6ae
Show file tree
Hide file tree
Showing 99 changed files with 2,262 additions and 182 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,6 @@ jobs:
- name: run tests
run: |
cd ./test
go test -timeout=50m
go test -timeout=120m
# TODO: Examine coverage
5 changes: 4 additions & 1 deletion examples/circuitbreaker/consumer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ var (
func initArgs() {
flag.StringVar(&namespace, "namespace", "default", "namespace")
flag.StringVar(&service, "service", "CircuitBreakerEchoServer", "service")
flag.Int64Var(&port, "port", 18080, "port")
}

type PolarisConsumer struct {
Expand Down Expand Up @@ -110,7 +111,9 @@ func (svr *PolarisConsumer) runWebServer() {
}
})

if err := http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", 18080), nil); err != nil {
log.Printf("start run web server, port : %d", port)

if err := http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", port), nil); err != nil {
log.Fatalf("[ERROR]fail to run webServer, err is %v", err)
}
}
Expand Down
7 changes: 7 additions & 0 deletions examples/circuitbreaker/consumer/polaris.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ global:
serverConnector:
addresses:
- 172.18.0.1:8091
statReporter:
enable: true
chain:
- prometheus
plugin:
prometheus:
metricPort: 0
7 changes: 7 additions & 0 deletions examples/circuitbreaker/provider/polaris.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ global:
serverConnector:
addresses:
- 172.18.0.1:8091
statReporter:
enable: true
chain:
- prometheus
plugin:
prometheus:
metricPort: 0
23 changes: 22 additions & 1 deletion examples/quickstart/consumer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ import (
"io/ioutil"
"log"
"net/http"
"time"

"github.com/polarismesh/polaris-go"
"github.com/polarismesh/polaris-go/pkg/model"
)

var (
Expand All @@ -36,6 +38,7 @@ var (
func initArgs() {
flag.StringVar(&namespace, "namespace", "default", "namespace")
flag.StringVar(&service, "service", "DiscoverEchoServer", "service")
flag.Int64Var(&port, "port", 18080, "port")
}

type PolarisConsumer struct {
Expand Down Expand Up @@ -67,13 +70,29 @@ func (svr *PolarisConsumer) runWebServer() {
log.Printf("instance getOneInstance is %s:%d", instance.GetHost(), instance.GetPort())
}

start := time.Now()
resp, err := http.Get(fmt.Sprintf("http://%s:%d/echo", instance.GetHost(), instance.GetPort()))
if err != nil {
log.Printf("[errot] send request to %s:%d fail : %s", instance.GetHost(), instance.GetPort(), err)
rw.WriteHeader(http.StatusInternalServerError)
_, _ = rw.Write([]byte(fmt.Sprintf("[errot] send request to %s:%d fail : %s", instance.GetHost(), instance.GetPort(), err)))
return
}
delay := time.Now().Add(time.Duration(10 * time.Second)).Sub(start)

ret := &polaris.ServiceCallResult{
ServiceCallResult: model.ServiceCallResult{
EmptyInstanceGauge: model.EmptyInstanceGauge{},
CalledInstance: instance,
Method: "/echo",
RetStatus: model.RetSuccess,
},
}
ret.SetDelay(delay)
ret.SetRetCode(int32(resp.StatusCode))
if err := svr.consumer.UpdateServiceCallResult(ret); err != nil {
log.Printf("do report service call result : %+v", err)
}

defer resp.Body.Close()

Expand All @@ -88,7 +107,9 @@ func (svr *PolarisConsumer) runWebServer() {
_, _ = rw.Write(data)
})

if err := http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", 18080), nil); err != nil {
log.Printf("start run web server, port : %d", port)

if err := http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", port), nil); err != nil {
log.Fatalf("[ERROR]fail to run webServer, err is %v", err)
}
}
Expand Down
7 changes: 7 additions & 0 deletions examples/quickstart/consumer/polaris.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ global:
serverConnector:
addresses:
- 127.0.0.1:8091
statReporter:
enable: true
chain:
- prometheus
plugin:
prometheus:
metricPort: 0
7 changes: 7 additions & 0 deletions examples/quickstart/provider/polaris.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ global:
serverConnector:
addresses:
- 127.0.0.1:8091
statReporter:
enable: true
chain:
- prometheus
plugin:
prometheus:
metricPort: 0
5 changes: 4 additions & 1 deletion examples/ratelimit/consumer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ var (
func initArgs() {
flag.StringVar(&namespace, "namespace", "default", "namespace")
flag.StringVar(&service, "service", "RateLimitEchoServer", "service")
flag.Int64Var(&port, "port", 18080, "port")
}

type PolarisConsumer struct {
Expand Down Expand Up @@ -97,7 +98,9 @@ func (svr *PolarisConsumer) runWebServer() {
_, _ = rw.Write(data)
})

if err := http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", 18080), nil); err != nil {
log.Printf("start run web server, port : %d", port)

if err := http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", port), nil); err != nil {
log.Fatalf("[ERROR]fail to run webServer, err is %v", err)
}
}
Expand Down
9 changes: 8 additions & 1 deletion examples/ratelimit/consumer/polaris.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
global:
serverConnector:
addresses:
- 172.18.0.1:8091
- 172.18.0.1:8091
statReporter:
enable: true
chain:
- prometheus
plugin:
prometheus:
metricPort: 0
8 changes: 8 additions & 0 deletions examples/ratelimit/provider/polaris.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,11 @@ global:
serverConnector:
addresses:
- 172.18.0.1:8091
statReporter:
enable: true
chain:
- prometheus
plugin:
prometheus:
metricPort: 0

7 changes: 5 additions & 2 deletions examples/route/consumer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,17 @@ import (
var (
namespace string
service string
port int64
selfNamespace string
selfService string
port int64
)

func initArgs() {
flag.StringVar(&namespace, "namespace", "default", "namespace")
flag.StringVar(&service, "service", "RouteEchoServer", "service")
flag.StringVar(&selfNamespace, "selfNamespace", "default", "selfNamespace")
flag.StringVar(&selfService, "selfService", "", "selfService")
flag.Int64Var(&port, "port", 18080, "port")
}

type PolarisConsumer struct {
Expand Down Expand Up @@ -98,7 +99,9 @@ func (svr *PolarisConsumer) runWebServer() {
_, _ = rw.Write(data)
})

if err := http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", 18080), nil); err != nil {
log.Printf("start run web server, port : %d", port)

if err := http.ListenAndServe(fmt.Sprintf("0.0.0.0:%d", port), nil); err != nil {
log.Fatalf("[ERROR]fail to run webServer, err is %v", err)
}
}
Expand Down
7 changes: 7 additions & 0 deletions examples/route/consumer/polaris.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ global:
serverConnector:
addresses:
- 172.18.0.1:8091
statReporter:
enable: true
chain:
- prometheus
plugin:
prometheus:
metricPort: 28080
7 changes: 7 additions & 0 deletions examples/route/provider/polaris.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ global:
serverConnector:
addresses:
- 172.18.0.1:8091
statReporter:
enable: true
chain:
- prometheus
plugin:
prometheus:
metricPort: 0
6 changes: 5 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,16 @@ require (
github.com/mitchellh/go-homedir v1.1.0
github.com/modern-go/reflect2 v1.0.2
github.com/natefinch/lumberjack v2.0.0+incompatible
github.com/prometheus/client_golang v1.12.1
github.com/prometheus/client_model v0.2.0
github.com/smartystreets/goconvey v1.6.4
github.com/spaolacci/murmur3 v1.1.0
github.com/stretchr/testify v1.7.0
go.uber.org/zap v1.19.1
golang.org/x/net v0.0.0-20210917221730-978cfadd31cf
google.golang.org/grpc v1.42.0
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127
google.golang.org/protobuf v1.26.0
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
gopkg.in/yaml.v2 v2.4.0
)
Loading

0 comments on commit 873a6ae

Please sign in to comment.