ddtrace 0.12.1 → 0.13.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.env +11 -21
- data/.rubocop.yml +1 -4
- data/Appraisals +75 -439
- data/CHANGELOG.md +16 -19
- data/Rakefile +89 -259
- data/circle.yml +69 -0
- data/ddtrace.gemspec +6 -6
- data/docker-compose.yml +37 -222
- data/docs/GettingStarted.md +260 -19
- data/gemfiles/contrib.gemfile +5 -0
- data/gemfiles/contrib_old.gemfile +4 -1
- data/gemfiles/rails30_postgres.gemfile +0 -1
- data/gemfiles/rails30_postgres_sidekiq.gemfile +0 -1
- data/gemfiles/rails32_mysql2.gemfile +0 -1
- data/gemfiles/rails32_postgres.gemfile +0 -1
- data/gemfiles/rails32_postgres_redis.gemfile +0 -1
- data/gemfiles/rails32_postgres_sidekiq.gemfile +0 -1
- data/gemfiles/rails5_mysql2.gemfile +1 -1
- data/gemfiles/rails5_postgres.gemfile +1 -1
- data/gemfiles/rails5_postgres_redis.gemfile +1 -1
- data/gemfiles/rails5_postgres_sidekiq.gemfile +1 -1
- data/lib/ddtrace.rb +6 -0
- data/lib/ddtrace/configuration.rb +2 -2
- data/lib/ddtrace/contrib/active_model_serializers/event.rb +57 -0
- data/lib/ddtrace/contrib/active_model_serializers/events.rb +30 -0
- data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +32 -0
- data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +35 -0
- data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +62 -0
- data/lib/ddtrace/contrib/active_record/event.rb +30 -0
- data/lib/ddtrace/contrib/active_record/events.rb +30 -0
- data/lib/ddtrace/contrib/active_record/events/instantiation.rb +51 -0
- data/lib/ddtrace/contrib/active_record/events/sql.rb +48 -0
- data/lib/ddtrace/contrib/active_record/patcher.rb +3 -73
- data/lib/ddtrace/contrib/active_record/utils.rb +1 -15
- data/lib/ddtrace/contrib/active_support/notifications/event.rb +62 -0
- data/lib/ddtrace/contrib/aws/instrumentation.rb +2 -2
- data/lib/ddtrace/contrib/elasticsearch/patcher.rb +2 -2
- data/lib/ddtrace/contrib/elasticsearch/quantize.rb +8 -40
- data/lib/ddtrace/contrib/excon/middleware.rb +140 -0
- data/lib/ddtrace/contrib/excon/patcher.rb +50 -0
- data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +65 -0
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +49 -0
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +66 -0
- data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +49 -0
- data/lib/ddtrace/contrib/grpc/patcher.rb +62 -0
- data/lib/ddtrace/contrib/http/patcher.rb +16 -18
- data/lib/ddtrace/contrib/racecar/event.rb +61 -0
- data/lib/ddtrace/contrib/racecar/events.rb +30 -0
- data/lib/ddtrace/contrib/racecar/events/batch.rb +27 -0
- data/lib/ddtrace/contrib/racecar/events/message.rb +27 -0
- data/lib/ddtrace/contrib/racecar/patcher.rb +6 -52
- data/lib/ddtrace/contrib/rack/middlewares.rb +65 -11
- data/lib/ddtrace/contrib/rack/patcher.rb +16 -0
- data/lib/ddtrace/contrib/rack/request_queue.rb +34 -0
- data/lib/ddtrace/contrib/rails/action_view.rb +65 -0
- data/lib/ddtrace/contrib/rails/active_support.rb +8 -9
- data/lib/ddtrace/contrib/rails/core_extensions.rb +115 -74
- data/lib/ddtrace/contrib/rake/instrumentation.rb +70 -0
- data/lib/ddtrace/contrib/rake/patcher.rb +53 -0
- data/lib/ddtrace/contrib/sequel/database.rb +58 -0
- data/lib/ddtrace/contrib/sequel/dataset.rb +59 -0
- data/lib/ddtrace/contrib/sequel/patcher.rb +56 -0
- data/lib/ddtrace/contrib/sequel/utils.rb +28 -0
- data/lib/ddtrace/ext/distributed.rb +5 -0
- data/lib/ddtrace/ext/grpc.rb +7 -0
- data/lib/ddtrace/ext/http.rb +35 -5
- data/lib/ddtrace/propagation/grpc_propagator.rb +54 -0
- data/lib/ddtrace/quantization/hash.rb +89 -0
- data/lib/ddtrace/tracer.rb +1 -4
- data/lib/ddtrace/utils.rb +4 -10
- data/lib/ddtrace/utils/database.rb +21 -0
- data/lib/ddtrace/version.rb +3 -3
- metadata +38 -13
- data/.circleci/config.yml +0 -456
- data/.circleci/images/primary/Dockerfile-1.9.3 +0 -69
- data/.circleci/images/primary/Dockerfile-2.0.0 +0 -69
- data/.circleci/images/primary/Dockerfile-2.1.10 +0 -69
- data/.circleci/images/primary/Dockerfile-2.2.10 +0 -69
- data/.circleci/images/primary/Dockerfile-2.3.7 +0 -73
- data/.circleci/images/primary/Dockerfile-2.4.4 +0 -73
- data/lib/ddtrace/contrib/rails/action_controller_patch.rb +0 -77
@@ -1,69 +0,0 @@
|
|
1
|
-
# Last version: https://github.com/docker-library/ruby/blob/90c4e3be58d565007c518d311d4bd05086a1638c/1.9/Dockerfile
|
2
|
-
FROM ruby:1.9.3
|
3
|
-
|
4
|
-
# Make apt non-interactive
|
5
|
-
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
6
|
-
&& echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
|
7
|
-
|
8
|
-
ENV DEBIAN_FRONTEND=noninteractive
|
9
|
-
|
10
|
-
# Install required packages
|
11
|
-
RUN set -ex; \
|
12
|
-
apt-get update; \
|
13
|
-
mkdir -p /usr/share/man/man1; \
|
14
|
-
apt-get install -y --no-install-recommends \
|
15
|
-
git mercurial xvfb \
|
16
|
-
locales sudo openssh-client ca-certificates tar gzip parallel \
|
17
|
-
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
18
|
-
tzdata rsync vim; \
|
19
|
-
rm -rf /var/lib/apt/lists/*;
|
20
|
-
|
21
|
-
# Set timezone to UTC by default
|
22
|
-
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
23
|
-
|
24
|
-
# Set language
|
25
|
-
RUN locale-gen en_US.UTF-8
|
26
|
-
ENV LANG en_US.UTF-8
|
27
|
-
ENV LANGUAGE en_US:en
|
28
|
-
|
29
|
-
# Install jq
|
30
|
-
RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
|
31
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
|
32
|
-
&& chmod +x /usr/bin/jq \
|
33
|
-
&& jq --version
|
34
|
-
|
35
|
-
# Install Docker
|
36
|
-
RUN set -ex \
|
37
|
-
&& export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
|
38
|
-
&& DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
|
39
|
-
&& echo Docker URL: $DOCKER_URL \
|
40
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
|
41
|
-
&& ls -lha /tmp/docker.tgz \
|
42
|
-
&& tar -xz -C /tmp -f /tmp/docker.tgz \
|
43
|
-
&& mv /tmp/docker/* /usr/bin \
|
44
|
-
&& rm -rf /tmp/docker /tmp/docker.tgz \
|
45
|
-
&& which docker \
|
46
|
-
&& (docker version || true)
|
47
|
-
|
48
|
-
# Install Docker Compose
|
49
|
-
RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
|
50
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
|
51
|
-
&& chmod +x /usr/bin/docker-compose \
|
52
|
-
&& docker-compose version
|
53
|
-
|
54
|
-
# Install Dockerize
|
55
|
-
RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
|
56
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
|
57
|
-
&& tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
|
58
|
-
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
59
|
-
&& dockerize --version
|
60
|
-
|
61
|
-
# Install RubyGems
|
62
|
-
RUN gem update --system
|
63
|
-
RUN gem install bundler
|
64
|
-
ENV BUNDLE_SILENCE_ROOT_WARNING 1
|
65
|
-
|
66
|
-
RUN mkdir /app
|
67
|
-
WORKDIR /app
|
68
|
-
|
69
|
-
CMD ["/bin/sh"]
|
@@ -1,69 +0,0 @@
|
|
1
|
-
# Last version: https://github.com/docker-library/ruby/blob/c387c6c3a2505060514e31c247cb37d22c944e55/2.0/Dockerfile
|
2
|
-
FROM ruby:2.0.0
|
3
|
-
|
4
|
-
# Make apt non-interactive
|
5
|
-
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
6
|
-
&& echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
|
7
|
-
|
8
|
-
ENV DEBIAN_FRONTEND=noninteractive
|
9
|
-
|
10
|
-
# Install required packages
|
11
|
-
RUN set -ex; \
|
12
|
-
apt-get update; \
|
13
|
-
mkdir -p /usr/share/man/man1; \
|
14
|
-
apt-get install -y --no-install-recommends \
|
15
|
-
git mercurial xvfb \
|
16
|
-
locales sudo openssh-client ca-certificates tar gzip parallel \
|
17
|
-
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
18
|
-
tzdata rsync vim; \
|
19
|
-
rm -rf /var/lib/apt/lists/*;
|
20
|
-
|
21
|
-
# Set timezone to UTC by default
|
22
|
-
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
23
|
-
|
24
|
-
# Set language
|
25
|
-
RUN locale-gen en_US.UTF-8
|
26
|
-
ENV LANG en_US.UTF-8
|
27
|
-
ENV LANGUAGE en_US:en
|
28
|
-
|
29
|
-
# Install jq
|
30
|
-
RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
|
31
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
|
32
|
-
&& chmod +x /usr/bin/jq \
|
33
|
-
&& jq --version
|
34
|
-
|
35
|
-
# Install Docker
|
36
|
-
RUN set -ex \
|
37
|
-
&& export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
|
38
|
-
&& DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
|
39
|
-
&& echo Docker URL: $DOCKER_URL \
|
40
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
|
41
|
-
&& ls -lha /tmp/docker.tgz \
|
42
|
-
&& tar -xz -C /tmp -f /tmp/docker.tgz \
|
43
|
-
&& mv /tmp/docker/* /usr/bin \
|
44
|
-
&& rm -rf /tmp/docker /tmp/docker.tgz \
|
45
|
-
&& which docker \
|
46
|
-
&& (docker version || true)
|
47
|
-
|
48
|
-
# Install Docker Compose
|
49
|
-
RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
|
50
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
|
51
|
-
&& chmod +x /usr/bin/docker-compose \
|
52
|
-
&& docker-compose version
|
53
|
-
|
54
|
-
# Install Dockerize
|
55
|
-
RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
|
56
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
|
57
|
-
&& tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
|
58
|
-
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
59
|
-
&& dockerize --version
|
60
|
-
|
61
|
-
# Install RubyGems
|
62
|
-
RUN gem update --system
|
63
|
-
RUN gem install bundler
|
64
|
-
ENV BUNDLE_SILENCE_ROOT_WARNING 1
|
65
|
-
|
66
|
-
RUN mkdir /app
|
67
|
-
WORKDIR /app
|
68
|
-
|
69
|
-
CMD ["/bin/sh"]
|
@@ -1,69 +0,0 @@
|
|
1
|
-
# Last version: https://github.com/docker-library/ruby/blob/99def14400fcd612782367830836dfcbc10c8c50/2.1/Dockerfile
|
2
|
-
FROM ruby:2.1.10
|
3
|
-
|
4
|
-
# Make apt non-interactive
|
5
|
-
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
6
|
-
&& echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
|
7
|
-
|
8
|
-
ENV DEBIAN_FRONTEND=noninteractive
|
9
|
-
|
10
|
-
# Install required packages
|
11
|
-
RUN set -ex; \
|
12
|
-
apt-get update; \
|
13
|
-
mkdir -p /usr/share/man/man1; \
|
14
|
-
apt-get install -y --no-install-recommends \
|
15
|
-
git mercurial xvfb \
|
16
|
-
locales sudo openssh-client ca-certificates tar gzip parallel \
|
17
|
-
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
18
|
-
tzdata rsync vim; \
|
19
|
-
rm -rf /var/lib/apt/lists/*;
|
20
|
-
|
21
|
-
# Set timezone to UTC by default
|
22
|
-
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
23
|
-
|
24
|
-
# Set language
|
25
|
-
RUN locale-gen en_US.UTF-8
|
26
|
-
ENV LANG en_US.UTF-8
|
27
|
-
ENV LANGUAGE en_US:en
|
28
|
-
|
29
|
-
# Install jq
|
30
|
-
RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
|
31
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
|
32
|
-
&& chmod +x /usr/bin/jq \
|
33
|
-
&& jq --version
|
34
|
-
|
35
|
-
# Install Docker
|
36
|
-
RUN set -ex \
|
37
|
-
&& export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
|
38
|
-
&& DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
|
39
|
-
&& echo Docker URL: $DOCKER_URL \
|
40
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
|
41
|
-
&& ls -lha /tmp/docker.tgz \
|
42
|
-
&& tar -xz -C /tmp -f /tmp/docker.tgz \
|
43
|
-
&& mv /tmp/docker/* /usr/bin \
|
44
|
-
&& rm -rf /tmp/docker /tmp/docker.tgz \
|
45
|
-
&& which docker \
|
46
|
-
&& (docker version || true)
|
47
|
-
|
48
|
-
# Install Docker Compose
|
49
|
-
RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
|
50
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
|
51
|
-
&& chmod +x /usr/bin/docker-compose \
|
52
|
-
&& docker-compose version
|
53
|
-
|
54
|
-
# Install Dockerize
|
55
|
-
RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
|
56
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
|
57
|
-
&& tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
|
58
|
-
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
59
|
-
&& dockerize --version
|
60
|
-
|
61
|
-
# Install RubyGems
|
62
|
-
RUN gem update --system
|
63
|
-
RUN gem install bundler
|
64
|
-
ENV BUNDLE_SILENCE_ROOT_WARNING 1
|
65
|
-
|
66
|
-
RUN mkdir /app
|
67
|
-
WORKDIR /app
|
68
|
-
|
69
|
-
CMD ["/bin/sh"]
|
@@ -1,69 +0,0 @@
|
|
1
|
-
# Last version: https://github.com/docker-library/ruby/blob/395cce4eba52917eb9a40c72d50703a1ce9e1acd/2.2/jessie/Dockerfile
|
2
|
-
FROM ruby:2.2.10
|
3
|
-
|
4
|
-
# Make apt non-interactive
|
5
|
-
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
6
|
-
&& echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
|
7
|
-
|
8
|
-
ENV DEBIAN_FRONTEND=noninteractive
|
9
|
-
|
10
|
-
# Install required packages
|
11
|
-
RUN set -ex; \
|
12
|
-
apt-get update; \
|
13
|
-
mkdir -p /usr/share/man/man1; \
|
14
|
-
apt-get install -y --no-install-recommends \
|
15
|
-
git mercurial xvfb \
|
16
|
-
locales sudo openssh-client ca-certificates tar gzip parallel \
|
17
|
-
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
18
|
-
tzdata rsync vim; \
|
19
|
-
rm -rf /var/lib/apt/lists/*;
|
20
|
-
|
21
|
-
# Set timezone to UTC by default
|
22
|
-
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
23
|
-
|
24
|
-
# Set language
|
25
|
-
RUN locale-gen en_US.UTF-8
|
26
|
-
ENV LANG en_US.UTF-8
|
27
|
-
ENV LANGUAGE en_US:en
|
28
|
-
|
29
|
-
# Install jq
|
30
|
-
RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
|
31
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
|
32
|
-
&& chmod +x /usr/bin/jq \
|
33
|
-
&& jq --version
|
34
|
-
|
35
|
-
# Install Docker
|
36
|
-
RUN set -ex \
|
37
|
-
&& export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
|
38
|
-
&& DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
|
39
|
-
&& echo Docker URL: $DOCKER_URL \
|
40
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
|
41
|
-
&& ls -lha /tmp/docker.tgz \
|
42
|
-
&& tar -xz -C /tmp -f /tmp/docker.tgz \
|
43
|
-
&& mv /tmp/docker/* /usr/bin \
|
44
|
-
&& rm -rf /tmp/docker /tmp/docker.tgz \
|
45
|
-
&& which docker \
|
46
|
-
&& (docker version || true)
|
47
|
-
|
48
|
-
# Install Docker Compose
|
49
|
-
RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
|
50
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
|
51
|
-
&& chmod +x /usr/bin/docker-compose \
|
52
|
-
&& docker-compose version
|
53
|
-
|
54
|
-
# Install Dockerize
|
55
|
-
RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
|
56
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
|
57
|
-
&& tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
|
58
|
-
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
59
|
-
&& dockerize --version
|
60
|
-
|
61
|
-
# Install RubyGems
|
62
|
-
RUN gem update --system
|
63
|
-
RUN gem install bundler
|
64
|
-
ENV BUNDLE_SILENCE_ROOT_WARNING 1
|
65
|
-
|
66
|
-
RUN mkdir /app
|
67
|
-
WORKDIR /app
|
68
|
-
|
69
|
-
CMD ["/bin/sh"]
|
@@ -1,73 +0,0 @@
|
|
1
|
-
# Current version: https://github.com/docker-library/ruby/blob/699a04311386ecc98ca242fc9bdee17fb4008863/2.3/stretch/Dockerfile
|
2
|
-
FROM ruby:2.3.7
|
3
|
-
|
4
|
-
# Make apt non-interactive
|
5
|
-
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
6
|
-
&& echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
|
7
|
-
|
8
|
-
ENV DEBIAN_FRONTEND=noninteractive
|
9
|
-
|
10
|
-
# Install required packages
|
11
|
-
RUN set -ex; \
|
12
|
-
apt-get update; \
|
13
|
-
mkdir -p /usr/share/man/man1; \
|
14
|
-
apt-get install -y --no-install-recommends \
|
15
|
-
git mercurial xvfb \
|
16
|
-
locales sudo openssh-client ca-certificates tar gzip parallel \
|
17
|
-
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
18
|
-
tzdata rsync vim; \
|
19
|
-
rm -rf /var/lib/apt/lists/*;
|
20
|
-
|
21
|
-
# Set timezone to UTC by default
|
22
|
-
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
23
|
-
|
24
|
-
# Set language
|
25
|
-
RUN locale-gen en_US.UTF-8
|
26
|
-
ENV LANG en_US.UTF-8
|
27
|
-
ENV LANGUAGE en_US:en
|
28
|
-
|
29
|
-
# Install jq
|
30
|
-
RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
|
31
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
|
32
|
-
&& chmod +x /usr/bin/jq \
|
33
|
-
&& jq --version
|
34
|
-
|
35
|
-
# Install Docker
|
36
|
-
RUN set -ex \
|
37
|
-
&& export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
|
38
|
-
&& DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
|
39
|
-
&& echo Docker URL: $DOCKER_URL \
|
40
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
|
41
|
-
&& ls -lha /tmp/docker.tgz \
|
42
|
-
&& tar -xz -C /tmp -f /tmp/docker.tgz \
|
43
|
-
&& mv /tmp/docker/* /usr/bin \
|
44
|
-
&& rm -rf /tmp/docker /tmp/docker.tgz \
|
45
|
-
&& which docker \
|
46
|
-
&& (docker version || true)
|
47
|
-
|
48
|
-
# Install Docker Compose
|
49
|
-
RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
|
50
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
|
51
|
-
&& chmod +x /usr/bin/docker-compose \
|
52
|
-
&& docker-compose version
|
53
|
-
|
54
|
-
# Install Dockerize
|
55
|
-
RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
|
56
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
|
57
|
-
&& tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
|
58
|
-
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
59
|
-
&& dockerize --version
|
60
|
-
|
61
|
-
# Install RubyGems
|
62
|
-
RUN gem update --system
|
63
|
-
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
64
|
-
|
65
|
-
# Install RubyGems
|
66
|
-
RUN gem update --system
|
67
|
-
RUN gem install bundler
|
68
|
-
ENV BUNDLE_SILENCE_ROOT_WARNING 1
|
69
|
-
|
70
|
-
RUN mkdir /app
|
71
|
-
WORKDIR /app
|
72
|
-
|
73
|
-
CMD ["/bin/sh"]
|
@@ -1,73 +0,0 @@
|
|
1
|
-
# Current version: https://github.com/docker-library/ruby/blob/699a04311386ecc98ca242fc9bdee17fb4008863/2.4/stretch/Dockerfile
|
2
|
-
FROM ruby:2.4.4
|
3
|
-
|
4
|
-
# Make apt non-interactive
|
5
|
-
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
|
6
|
-
&& echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
|
7
|
-
|
8
|
-
ENV DEBIAN_FRONTEND=noninteractive
|
9
|
-
|
10
|
-
# Install required packages
|
11
|
-
RUN set -ex; \
|
12
|
-
apt-get update; \
|
13
|
-
mkdir -p /usr/share/man/man1; \
|
14
|
-
apt-get install -y --no-install-recommends \
|
15
|
-
git mercurial xvfb \
|
16
|
-
locales sudo openssh-client ca-certificates tar gzip parallel \
|
17
|
-
net-tools netcat unzip zip bzip2 gnupg curl wget \
|
18
|
-
tzdata rsync vim; \
|
19
|
-
rm -rf /var/lib/apt/lists/*;
|
20
|
-
|
21
|
-
# Set timezone to UTC by default
|
22
|
-
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
23
|
-
|
24
|
-
# Set language
|
25
|
-
RUN locale-gen en_US.UTF-8
|
26
|
-
ENV LANG en_US.UTF-8
|
27
|
-
ENV LANGUAGE en_US:en
|
28
|
-
|
29
|
-
# Install jq
|
30
|
-
RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
|
31
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
|
32
|
-
&& chmod +x /usr/bin/jq \
|
33
|
-
&& jq --version
|
34
|
-
|
35
|
-
# Install Docker
|
36
|
-
RUN set -ex \
|
37
|
-
&& export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
|
38
|
-
&& DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
|
39
|
-
&& echo Docker URL: $DOCKER_URL \
|
40
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
|
41
|
-
&& ls -lha /tmp/docker.tgz \
|
42
|
-
&& tar -xz -C /tmp -f /tmp/docker.tgz \
|
43
|
-
&& mv /tmp/docker/* /usr/bin \
|
44
|
-
&& rm -rf /tmp/docker /tmp/docker.tgz \
|
45
|
-
&& which docker \
|
46
|
-
&& (docker version || true)
|
47
|
-
|
48
|
-
# Install Docker Compose
|
49
|
-
RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
|
50
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
|
51
|
-
&& chmod +x /usr/bin/docker-compose \
|
52
|
-
&& docker-compose version
|
53
|
-
|
54
|
-
# Install Dockerize
|
55
|
-
RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
|
56
|
-
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
|
57
|
-
&& tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
|
58
|
-
&& rm -rf /tmp/dockerize-linux-amd64.tar.gz \
|
59
|
-
&& dockerize --version
|
60
|
-
|
61
|
-
# Install RubyGems
|
62
|
-
RUN gem update --system
|
63
|
-
RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
|
64
|
-
|
65
|
-
# Install RubyGems
|
66
|
-
RUN gem update --system
|
67
|
-
RUN gem install bundler
|
68
|
-
ENV BUNDLE_SILENCE_ROOT_WARNING 1
|
69
|
-
|
70
|
-
RUN mkdir /app
|
71
|
-
WORKDIR /app
|
72
|
-
|
73
|
-
CMD ["/bin/sh"]
|
@@ -1,77 +0,0 @@
|
|
1
|
-
module Datadog
|
2
|
-
module Contrib
|
3
|
-
module Rails
|
4
|
-
# Instrument ActiveController processing
|
5
|
-
module ActionControllerPatch
|
6
|
-
def self.included(base)
|
7
|
-
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.0.0')
|
8
|
-
base.send(:prepend, ProcessActionPatch)
|
9
|
-
else
|
10
|
-
base.class_eval do
|
11
|
-
alias_method :process_action_without_datadog, :process_action
|
12
|
-
|
13
|
-
include ProcessActionPatch
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
# Compatibility module for Ruby versions not supporting #prepend
|
19
|
-
module ProcessActionCompatibilityPatch
|
20
|
-
def process_action(*args)
|
21
|
-
process_action_without_datadog(*args)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
# ActionController patch
|
26
|
-
module ProcessActionPatch
|
27
|
-
# compatibility module for Ruby versions not supporting #prepend
|
28
|
-
include ProcessActionCompatibilityPatch unless Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.0.0')
|
29
|
-
|
30
|
-
def process_action(*args)
|
31
|
-
# mutable payload with a tracing context that is used in two different
|
32
|
-
# signals; it propagates the request span so that it can be finished
|
33
|
-
# no matter what
|
34
|
-
payload = {
|
35
|
-
controller: self.class,
|
36
|
-
action: action_name,
|
37
|
-
headers: {
|
38
|
-
# The exception this controller was given in the request,
|
39
|
-
# which is typical if the controller is configured to handle exceptions.
|
40
|
-
request_exception: request.headers['action_dispatch.exception']
|
41
|
-
},
|
42
|
-
tracing_context: {}
|
43
|
-
}
|
44
|
-
|
45
|
-
begin
|
46
|
-
# process and catch request exceptions
|
47
|
-
Datadog::Contrib::Rails::ActionController.start_processing(payload)
|
48
|
-
result = super(*args)
|
49
|
-
status = datadog_response_status
|
50
|
-
payload[:status] = status unless status.nil?
|
51
|
-
result
|
52
|
-
# rubocop:disable Lint/RescueException
|
53
|
-
rescue Exception => e
|
54
|
-
payload[:exception] = [e.class.name, e.message]
|
55
|
-
payload[:exception_object] = e
|
56
|
-
raise e
|
57
|
-
end
|
58
|
-
# rubocop:enable Lint/RescueException
|
59
|
-
ensure
|
60
|
-
Datadog::Contrib::Rails::ActionController.finish_processing(payload)
|
61
|
-
end
|
62
|
-
|
63
|
-
def datadog_response_status
|
64
|
-
case response
|
65
|
-
when ActionDispatch::Response
|
66
|
-
response.status
|
67
|
-
when Array
|
68
|
-
# Likely a Rack response array: first element is the status.
|
69
|
-
status = response.first
|
70
|
-
status.class <= Integer ? status : nil
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|