mirror of
https://github.com/coredns/coredns.git
synced 2025-10-26 15:54:16 -04:00
Benching (#2121)
* Benchmark stuff Signed-off-by: Miek Gieben <miek@miek.nl> * Makefile changes Signed-off-by: Miek Gieben <miek@miek.nl> * Fixes Signed-off-by: Miek Gieben <miek@miek.nl> * fix Signed-off-by: Miek Gieben <miek@miek.nl> * Add benchmark test Signed-off-by: Miek Gieben <miek@miek.nl> * Add master branch Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
sudo: required
|
||||
# Trusty distribution is much faster when sudo is required
|
||||
dist: trusty
|
||||
|
||||
services:
|
||||
@@ -14,11 +13,16 @@ go_import_path: github.com/coredns/coredns
|
||||
git:
|
||||
depth: 3
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
env:
|
||||
- TEST_TYPE=coverage ETCD_VERSION=3.3.8
|
||||
- TEST_TYPE=integration ETCD_VERSION=3.3.8
|
||||
- TEST_TYPE=core ETCD_VERSION=3.3.8
|
||||
- TEST_TYPE=plugin ETCD_VERSION=3.3.8
|
||||
- TEST_TYPE=benchmark ETCD_VERSION=3.3.8
|
||||
|
||||
# In the Travis VM-based build environment, IPv6 networking is not
|
||||
# enabled by default. The sysctl operations below enable IPv6.
|
||||
@@ -35,6 +39,7 @@ before_install:
|
||||
|
||||
before_script:
|
||||
- docker run -d --net=host --name=etcd quay.io/coreos/etcd:v$ETCD_VERSION
|
||||
- make godeps
|
||||
|
||||
script:
|
||||
- make TEST_TYPE=$TEST_TYPE travis
|
||||
|
||||
29
Makefile
29
Makefile
@@ -17,14 +17,6 @@ coredns: $(CHECKS)
|
||||
.PHONY: check
|
||||
check: presubmit core/zplugin.go core/dnsserver/zdirectives.go godeps
|
||||
|
||||
.PHONY: test
|
||||
test: check
|
||||
go test -race $(VERBOSE) ./test ./plugin/...
|
||||
|
||||
.PHONY: testk8s
|
||||
testk8s: check
|
||||
go test -race $(VERBOSE) -tags=k8s -run 'TestKubernetes' ./test ./plugin/kubernetes/...
|
||||
|
||||
.PHONY: godeps
|
||||
godeps:
|
||||
@ # Not vendoring these, so external plugins compile, avoiding:
|
||||
@@ -40,13 +32,15 @@ godeps:
|
||||
(cd $(GOPATH)/src/github.com/mholt/caddy && git checkout -q v0.10.11)
|
||||
(cd $(GOPATH)/src/github.com/miekg/dns && git checkout -q v1.0.8)
|
||||
(cd $(GOPATH)/src/github.com/prometheus/client_golang && git checkout -q v0.8.0)
|
||||
@ # for travis only, if this fails we don't care, but don't see benchmarks
|
||||
go get -u golang.org/x/tools/cmd/benchcmp || true
|
||||
|
||||
.PHONY: travis
|
||||
travis: check
|
||||
travis:
|
||||
ifeq ($(TEST_TYPE),core)
|
||||
( cd request ; go test -v -tags 'etcd' -race ./... )
|
||||
( cd core ; go test -v -tags 'etcd' -race ./... )
|
||||
( cd coremain go test -v -tags 'etcd' -race ./... )
|
||||
( cd coremain ; go test -v -tags 'etcd' -race ./... )
|
||||
endif
|
||||
ifeq ($(TEST_TYPE),integration)
|
||||
( cd test ; go test -v -tags 'etcd' -race ./... )
|
||||
@@ -66,6 +60,21 @@ ifeq ($(TEST_TYPE),coverage)
|
||||
fi; \
|
||||
done
|
||||
endif
|
||||
ifeq ($(TEST_TYPE),benchmark)
|
||||
> new
|
||||
( cd plugin; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new
|
||||
( cd request; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new
|
||||
( cd core; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new
|
||||
( cd coremain; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new
|
||||
git checkout master
|
||||
> old
|
||||
( cd plugin; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old
|
||||
( cd request; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old
|
||||
( cd core; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old
|
||||
( cd coremain; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old
|
||||
if command -v benchcmp; then benchcmp old new ; fi
|
||||
git checkout -
|
||||
endif
|
||||
|
||||
core/zplugin.go core/dnsserver/zdirectives.go: plugin.cfg
|
||||
go generate coredns.go
|
||||
|
||||
Reference in New Issue
Block a user