SHELL := bash .ONESHELL: .SHELLFLAGS := -eu -o pipefail -c .DELETE_ON_ERROR: MAKEFLAGS += --warn-undefined-variables MAKEFLAGS += --no-builtin-rules TESTJOBS := 4 OS:=$(shell uname -s) RELEASEFLAGS := ifeq ($(OS),Linux) TESTJOBS:=$(shell nproc) RELEASEFLAGS=--target x86_64-unknown-linux-musl endif ifeq ($(OS),FreeBSD) TESTJOBS:=$(shell sysctl -n hw.ncpu) endif ifeq ($(origin .RECIPEPREFIX), undefined) $(error This Make does not support .RECIPEPREFIX. Please use GNU Make 4.0 or later) endif .RECIPEPREFIX = > .PHONY: build build: > cargo build .PHONY: release release: > cargo build --release $(RELEASEFLAGS) .PHONY: clean clean: > cargo clean .PHONY: test test: > cargo test --no-fail-fast --lib --test test_loader -- --test-threads $(TESTJOBS) .PHONY: dockertest dockertest: > $(MAKE) -C docker/organic_test > docker run --rm -i -t -v "$$(readlink -f ./):/.source:ro" --mount source=cargo-cache,target=/usr/local/cargo/registry -w / organic-test sh -c "cp -r /.source /source && cd /source && cargo test --no-fail-fast --lib --test test_loader" .PHONY: dockerclean dockerclean: # Delete volumes created for running the tests in docker. This does not touch anything related to the jaeger docker container. > docker volume rm cargo-cache rust-cache .PHONY: integrationtest integrationtest: > cargo test --no-fail-fast --test test_loader -- --test-threads $(TESTJOBS) .PHONY: unittest unittest: > cargo test --lib -- --test-threads $(TESTJOBS) .PHONY: jaeger jaeger: # 4317 for OTLP gRPC, 4318 for OTLP HTTP. We currently use gRPC but I forward both ports regardless. # # These flags didn't help even though they seem like they would: --collector.otlp.grpc.max-message-size=10000000 --collector.queue-size=20000 --collector.num-workers=100 > docker run -d --rm --name organicdocker -p 4317:4317 -p 4318:4318 -p 16686:16686 -e COLLECTOR_OTLP_ENABLED=true jaegertracing/all-in-one:1.47 --collector.grpc-server.max-message-size=10000000 .PHONY: jaegerweb jaegerweb: > xdg-open 'http://localhost:16686' .PHONY: jaegerstop jaegerstop: > docker stop organicdocker