Merge pull request #1 from Relyance/apm_integration
Integrate datadog APM integration for the online boutique app
This commit is contained in:
commit
8c6da2c0d5
30 changed files with 1764 additions and 334 deletions
30
apm/datadog/README.md
Normal file
30
apm/datadog/README.md
Normal file
|
@ -0,0 +1,30 @@
|
|||
## Steps to setup Online Boutique App with Datadog monitoring
|
||||
|
||||
### Steps to install the boutique app on local machine with Kubernetes enabled on docker-desktop
|
||||
|
||||
1. Clone the source code for the online boutique app
|
||||
$ git clone git@github.com:Relyance/microservices-demo.git
|
||||
|
||||
2. Once the source code is cloned, enter the folder containing the source code
|
||||
$ cd microservices-demo/release
|
||||
|
||||
3. Run the kubernetes apply command to run the online boutique app
|
||||
$ kubectl apply -f kubernetes-manifests.yaml
|
||||
(Note: Wait for 10 minutes for the whole app to be downloaded and up and running
|
||||
|
||||
4. Do the port-forwarding to run the application from the browser
|
||||
$ kubectl port-forward service/frontend 8080:80
|
||||
|
||||
|
||||
### Steps to setup Datadog agent for monitoring Online Boutique App (deployed as Kubernetes) [Explained above]
|
||||
|
||||
1. Configure agent permissions
|
||||
$ kubectl apply -f "https://raw.githubusercontent.com/DataDog/datadog-agent/master/Dockerfiles/manifests/rbac/clusterrole.yaml"
|
||||
$ kubectl apply -f "https://raw.githubusercontent.com/DataDog/datadog-agent/master/Dockerfiles/manifests/rbac/serviceaccount.yaml"
|
||||
$ kubectl apply -f "https://raw.githubusercontent.com/DataDog/datadog-agent/master/Dockerfiles/manifests/rbac/clusterrolebinding.yaml"
|
||||
|
||||
2. Create a secret that contains your Datadog API Key
|
||||
$ kubectl create secret generic datadog-agent --from-literal api-key="77ed0972ca94340f9db3fb78ee5e89cc" --namespace="default"
|
||||
|
||||
1. Enable the datadog agent manifest file
|
||||
$ kubectl apply -f datadog-agent-logs-apm.yaml
|
283
apm/datadog/datadog-agent-logs-apm.yaml
Normal file
283
apm/datadog/datadog-agent-logs-apm.yaml
Normal file
|
@ -0,0 +1,283 @@
|
|||
# Source: datadog/templates/secrets.yaml
|
||||
# api-key: YzMyZGZiN2FhZTAzYTUxMTczN2NlNDQ3NDdmMTEwNTIK # key for rahul.jagad@relyance.ai account
|
||||
# API Key
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: datadog-agent
|
||||
labels: {}
|
||||
type: Opaque
|
||||
data:
|
||||
api-key: NzdlZDA5NzJjYTk0MzQwZjlkYjNmYjc4ZWU1ZTg5Y2MK
|
||||
---
|
||||
# Source: datadog/templates/daemonset.yaml
|
||||
apiVersion: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
name: datadog-agent
|
||||
labels: {}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: datadog-agent
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: datadog-agent
|
||||
name: datadog-agent
|
||||
annotations: {}
|
||||
spec:
|
||||
containers:
|
||||
- name: agent
|
||||
image: "datadog/agent:7.21.1"
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["agent", "run"]
|
||||
resources: {}
|
||||
ports:
|
||||
- containerPort: 8125
|
||||
name: dogstatsdport
|
||||
protocol: UDP
|
||||
env:
|
||||
- name: DD_CRI_SOCKET_PATH
|
||||
value: "unix:///host/var/run/docker.sock"
|
||||
- name: DD_KUBELET_TLS_VERIFY
|
||||
value: "false"
|
||||
# To pick the docker logs directly and submit it to the datadog server.
|
||||
- name: DOCKER_HOST
|
||||
value: "unix:///host/var/run/docker.sock"
|
||||
#TODO : API key needs to be used from the "secrets" container above, but
|
||||
# somehow its not working currently and so putting the secret directly here.
|
||||
# The problem that i am facing is the "secrets" against is somehow adding the newline
|
||||
# character to the key making the key invalid and hence not working.
|
||||
- name: DD_API_KEY
|
||||
value: "77ed0972ca94340f9db3fb78ee5e89cc"
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: "datadog-agent"
|
||||
# key: api-key
|
||||
- name: DD_KUBERNETES_KUBELET_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: KUBERNETES
|
||||
value: "yes"
|
||||
- name: DD_CONTAINER_EXCLUDE
|
||||
value: "image:datadog/agent"
|
||||
- name: DD_AC_EXCLUDE
|
||||
value: "name:datadog-agent"
|
||||
- name: DD_LOG_LEVEL
|
||||
value: "INFO"
|
||||
- name: DD_DOGSTATSD_PORT
|
||||
value: "8125"
|
||||
- name: DD_LEADER_ELECTION
|
||||
value: "true"
|
||||
- name: DD_COLLECT_KUBERNETES_EVENTS
|
||||
value: "true"
|
||||
- name: DD_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL
|
||||
value: "true"
|
||||
- name: DD_LOGS_CONFIG_K8S_CONTAINER_USE_FILE
|
||||
value: "true"
|
||||
- name: DD_HEALTH_PORT
|
||||
value: "5555"
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /etc/datadog-agent
|
||||
- name: runtimesocketdir
|
||||
mountPath: /host/var/run
|
||||
readOnly: true
|
||||
- name: procdir
|
||||
mountPath: /host/proc
|
||||
readOnly: true
|
||||
- name: cgroups
|
||||
mountPath: /host/sys/fs/cgroup
|
||||
readOnly: true
|
||||
- name: pointerdir
|
||||
mountPath: /opt/datadog-agent/run
|
||||
- name: logpodpath
|
||||
mountPath: /var/log/pods
|
||||
readOnly: true
|
||||
- name: logdockercontainerpath
|
||||
mountPath: /var/lib/docker/containers
|
||||
readOnly: true
|
||||
# - name: dockersocketdir
|
||||
# mountPath: /host/var/run
|
||||
livenessProbe:
|
||||
failureThreshold: 6
|
||||
httpGet:
|
||||
path: /live
|
||||
port: 5555
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 15
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
readinessProbe:
|
||||
failureThreshold: 6
|
||||
httpGet:
|
||||
path: /ready
|
||||
port: 5555
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 15
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
- name: trace-agent
|
||||
image: "datadog/agent:7.21.1"
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["trace-agent", "-config=/etc/datadog-agent/datadog.yaml"]
|
||||
resources: {}
|
||||
ports:
|
||||
- containerPort: 8126
|
||||
hostPort: 8126
|
||||
name: traceport
|
||||
protocol: TCP
|
||||
env:
|
||||
#TODO : API key needs to be used from the "secrets" container above, but
|
||||
# somehow its not working currently and so putting the secret directly here.
|
||||
# The problem that i am facing is the "secrets" against is somehow adding the newline
|
||||
# character to the key making the key invalid and hence not working.
|
||||
- name: DD_API_KEY
|
||||
value: "77ed0972ca94340f9db3fb78ee5e89cc"
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: "datadog-agent"
|
||||
# key: api-key
|
||||
- name: DD_KUBERNETES_KUBELET_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: KUBERNETES
|
||||
value: "yes"
|
||||
- name: DD_CONTAINER_EXCLUDE
|
||||
value: "image:datadog/agent"
|
||||
- name: DOCKER_HOST
|
||||
value: "unix:///host/var/run/docker.sock"
|
||||
- name: DD_LOG_LEVEL
|
||||
value: "debug"
|
||||
- name: DD_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_APM_NON_LOCAL_TRAFFIC
|
||||
value: "true"
|
||||
- name: DD_APM_RECEIVER_PORT
|
||||
value: "8126"
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /etc/datadog-agent
|
||||
- name: runtimesocketdir
|
||||
mountPath: /host/var/run
|
||||
readOnly: true
|
||||
livenessProbe:
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 15
|
||||
tcpSocket:
|
||||
port: 8126
|
||||
timeoutSeconds: 5
|
||||
initContainers:
|
||||
- name: init-volume
|
||||
image: "datadog/agent:7.21.1"
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["bash", "-c"]
|
||||
args:
|
||||
- cp -r /etc/datadog-agent /opt
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /opt/datadog-agent
|
||||
resources: {}
|
||||
- name: init-config
|
||||
image: "datadog/agent:7.21.1"
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["bash", "-c"]
|
||||
args:
|
||||
- for script in $(find /etc/cont-init.d/ -type f -name '*.sh' | sort) ; do bash $script ; done
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /etc/datadog-agent
|
||||
- name: procdir
|
||||
mountPath: /host/proc
|
||||
readOnly: true
|
||||
- name: runtimesocketdir
|
||||
mountPath: /host/var/run
|
||||
readOnly: true
|
||||
env:
|
||||
#TODO : API key needs to be used from the "secrets" container above, but
|
||||
# somehow its not working currently and so putting the secret directly here.
|
||||
# The problem that i am facing is the "secrets" against is somehow adding the newline
|
||||
# character to the key making the key invalid and hence not working.
|
||||
- name: DD_API_KEY
|
||||
value: "77ed0972ca94340f9db3fb78ee5e89cc"
|
||||
- name: DD_KUBERNETES_KUBELET_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: KUBERNETES
|
||||
value: "yes"
|
||||
- name: DD_AC_EXCLUDE
|
||||
value: "name:datadog-agent"
|
||||
- name: DOCKER_HOST
|
||||
value: "unix:///host/var/run/docker.sock"
|
||||
- name: DD_LEADER_ELECTION
|
||||
value: "true"
|
||||
resources: {}
|
||||
volumes:
|
||||
- name: config
|
||||
emptyDir: {}
|
||||
- hostPath:
|
||||
path: /var/run
|
||||
name: runtimesocketdir
|
||||
- hostPath:
|
||||
path: /proc
|
||||
name: procdir
|
||||
- hostPath:
|
||||
path: /sys/fs/cgroup
|
||||
name: cgroups
|
||||
- name: s6-run
|
||||
emptyDir: {}
|
||||
- hostPath:
|
||||
path: "/var/lib/datadog-agent/logs"
|
||||
name: pointerdir
|
||||
- hostPath:
|
||||
path: /var/log/pods
|
||||
name: logpodpath
|
||||
- hostPath:
|
||||
path: /var/lib/docker/containers
|
||||
name: logdockercontainerpath
|
||||
- hostPath:
|
||||
path: /var/run
|
||||
name: dockersocketdir
|
||||
tolerations:
|
||||
affinity: {}
|
||||
serviceAccountName: "datadog-agent"
|
||||
nodeSelector:
|
||||
kubernetes.io/os: linux
|
||||
updateStrategy:
|
||||
rollingUpdate:
|
||||
maxUnavailable: 10%
|
||||
type: RollingUpdate
|
||||
|
||||
# Service
|
||||
# We probably dont need to expose the datadog agent as the service,
|
||||
# since the way the "DD_AGENT_HOST" environment variable can be exposed
|
||||
# inside the application is by setting status.hostIP value.
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: datadog-agent
|
||||
spec:
|
||||
selector:
|
||||
app: datadog-agent
|
||||
ports:
|
||||
- name: agent
|
||||
protocol: TCP
|
||||
port: 8125
|
||||
targetPort: 8125
|
||||
- name: trace-agent
|
||||
protocol: TCP
|
||||
port: 8126
|
||||
targetPort: 8126
|
||||
|
||||
# Source: datadog/templates/containers-common-env.yaml
|
||||
# The purpose of this template is to define a minimal set of environment
|
||||
# variables required to operate dedicated containers in the daemonset
|
|
@ -51,14 +51,32 @@ spec:
|
|||
value: "currencyservice:7000"
|
||||
- name: CART_SERVICE_ADDR
|
||||
value: "cartservice:7070"
|
||||
# - name: DISABLE_STATS
|
||||
# value: "1"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
# - name: JAEGER_SERVICE_ADDR
|
||||
# value: "jaeger-collector:14268"
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
# Enable datadog tracing
|
||||
- name: DATADOG_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_SERVICE
|
||||
value: "checkoutservice"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DD_LOG_LEVEL
|
||||
value: "debug"
|
||||
# Disable default opentracing ?
|
||||
- name: DISABLE_STATS
|
||||
value: "1"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
# - name: JAEGER_SERVICE_ADDR
|
||||
# value: "jaeger-collector:14268"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
|
|
|
@ -32,10 +32,22 @@ spec:
|
|||
ports:
|
||||
- containerPort: 8080
|
||||
env:
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_SERVICE
|
||||
value: "emailservice"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: PORT
|
||||
value: "8080"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
readinessProbe:
|
||||
|
|
|
@ -67,10 +67,26 @@ spec:
|
|||
value: "adservice:9555"
|
||||
- name: ENV_PLATFORM
|
||||
value: "gcp"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DATADOG_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_SERVICE
|
||||
value: "frontend"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DD_LOG_LEVEL
|
||||
value: "info"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
# - name: JAEGER_SERVICE_ADDR
|
||||
# value: "jaeger-collector:14268"
|
||||
resources:
|
||||
|
|
|
@ -34,12 +34,28 @@ spec:
|
|||
env:
|
||||
- name: PORT
|
||||
value: "3550"
|
||||
# - name: DISABLE_STATS
|
||||
# value: "1"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DATADOG_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DD_SERVICE
|
||||
value: "productcatalogservice"
|
||||
- name: DD_LOG_LEVEL
|
||||
value: "info"
|
||||
- name: DISABLE_STATS
|
||||
value: "1"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
# - name: JAEGER_SERVICE_ADDR
|
||||
# value: "jaeger-collector:14268"
|
||||
readinessProbe:
|
||||
|
|
|
@ -40,16 +40,28 @@ spec:
|
|||
exec:
|
||||
command: ["/bin/grpc_health_probe", "-addr=:8080"]
|
||||
env:
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_SERVICE
|
||||
value: "recommendationservice"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: PORT
|
||||
value: "8080"
|
||||
- name: PRODUCT_CATALOG_SERVICE_ADDR
|
||||
value: "productcatalogservice:3550"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
# - name: DISABLE_DEBUGGER
|
||||
# value: "1"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
- name: DISABLE_DEBUGGER
|
||||
value: "1"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
|
|
|
@ -16,6 +16,8 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: redis-cart
|
||||
annotations:
|
||||
ad.datadoghq.com/redis.logs: '[{"source": "redis", "service": "redis-cart"}]'
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
|
@ -28,6 +30,15 @@ spec:
|
|||
containers:
|
||||
- name: redis
|
||||
image: redis:alpine
|
||||
env:
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DD_ENV
|
||||
value: prod
|
||||
- name: DD_SERVICE
|
||||
value: redis-cart
|
||||
ports:
|
||||
- containerPort: 6379
|
||||
readinessProbe:
|
||||
|
|
|
@ -33,12 +33,28 @@ spec:
|
|||
env:
|
||||
- name: PORT
|
||||
value: "50051"
|
||||
# - name: DISABLE_STATS
|
||||
# value: "1"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DATADOG_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_SERVICE
|
||||
value: "shippingservice"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DD_LOG_LEVEL
|
||||
value: "info"
|
||||
- name: DISABLE_STATS
|
||||
value: "1"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
# - name: JAEGER_SERVICE_ADDR
|
||||
# value: "jaeger-collector:14268"
|
||||
readinessProbe:
|
||||
|
|
|
@ -16,6 +16,252 @@
|
|||
# WARNING: This file is autogenerated. Do not manually edit.
|
||||
# ----------------------------------------------------------
|
||||
|
||||
# Source: datadog/templates/daemonset.yaml
|
||||
apiVersion: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
name: datadog-agent
|
||||
labels: {}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: datadog-agent
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: datadog-agent
|
||||
name: datadog-agent
|
||||
annotations: {}
|
||||
spec:
|
||||
containers:
|
||||
- name: agent
|
||||
image: "datadog/agent:7.21.1"
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["agent", "run"]
|
||||
resources: {}
|
||||
ports:
|
||||
- containerPort: 8125
|
||||
name: dogstatsdport
|
||||
protocol: UDP
|
||||
env:
|
||||
- name: DD_CRI_SOCKET_PATH
|
||||
value: "unix:///host/var/run/docker.sock"
|
||||
- name: DD_KUBELET_TLS_VERIFY
|
||||
value: "false"
|
||||
# To pick the docker logs directly and submit it to the datadog server.
|
||||
- name: DOCKER_HOST
|
||||
value: "unix:///host/var/run/docker.sock"
|
||||
#TODO : API key needs to be used from the "secrets" container above, but
|
||||
# somehow its not working currently and so putting the secret directly here.
|
||||
# The problem that i am facing is the "secrets" against is somehow adding the newline
|
||||
# character to the key making the key invalid and hence not working.
|
||||
- name: DD_API_KEY
|
||||
value: "77ed0972ca94340f9db3fb78ee5e89cc"
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: "datadog-agent"
|
||||
# key: api-key
|
||||
- name: DD_KUBERNETES_KUBELET_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: KUBERNETES
|
||||
value: "yes"
|
||||
- name: DD_CONTAINER_EXCLUDE
|
||||
value: "image:datadog/agent"
|
||||
- name: DD_AC_EXCLUDE
|
||||
value: "name:datadog-agent"
|
||||
- name: DD_LOG_LEVEL
|
||||
value: "INFO"
|
||||
- name: DD_DOGSTATSD_PORT
|
||||
value: "8125"
|
||||
- name: DD_LEADER_ELECTION
|
||||
value: "true"
|
||||
- name: DD_COLLECT_KUBERNETES_EVENTS
|
||||
value: "true"
|
||||
- name: DD_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL
|
||||
value: "true"
|
||||
- name: DD_LOGS_CONFIG_K8S_CONTAINER_USE_FILE
|
||||
value: "true"
|
||||
- name: DD_HEALTH_PORT
|
||||
value: "5555"
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /etc/datadog-agent
|
||||
- name: runtimesocketdir
|
||||
mountPath: /host/var/run
|
||||
readOnly: true
|
||||
- name: procdir
|
||||
mountPath: /host/proc
|
||||
readOnly: true
|
||||
- name: cgroups
|
||||
mountPath: /host/sys/fs/cgroup
|
||||
readOnly: true
|
||||
- name: pointerdir
|
||||
mountPath: /opt/datadog-agent/run
|
||||
- name: logpodpath
|
||||
mountPath: /var/log/pods
|
||||
readOnly: true
|
||||
- name: logdockercontainerpath
|
||||
mountPath: /var/lib/docker/containers
|
||||
readOnly: true
|
||||
# - name: dockersocketdir
|
||||
# mountPath: /host/var/run
|
||||
livenessProbe:
|
||||
failureThreshold: 6
|
||||
httpGet:
|
||||
path: /live
|
||||
port: 5555
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 15
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
readinessProbe:
|
||||
failureThreshold: 6
|
||||
httpGet:
|
||||
path: /ready
|
||||
port: 5555
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 15
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
- name: trace-agent
|
||||
image: "datadog/agent:7.21.1"
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["trace-agent", "-config=/etc/datadog-agent/datadog.yaml"]
|
||||
resources: {}
|
||||
ports:
|
||||
- containerPort: 8126
|
||||
hostPort: 8126
|
||||
name: traceport
|
||||
protocol: TCP
|
||||
env:
|
||||
#TODO : API key needs to be used from the "secrets" container above, but
|
||||
# somehow its not working currently and so putting the secret directly here.
|
||||
# The problem that i am facing is the "secrets" against is somehow adding the newline
|
||||
# character to the key making the key invalid and hence not working.
|
||||
- name: DD_API_KEY
|
||||
value: "77ed0972ca94340f9db3fb78ee5e89cc"
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: "datadog-agent"
|
||||
# key: api-key
|
||||
- name: DD_KUBERNETES_KUBELET_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: KUBERNETES
|
||||
value: "yes"
|
||||
- name: DD_CONTAINER_EXCLUDE
|
||||
value: "image:datadog/agent"
|
||||
- name: DOCKER_HOST
|
||||
value: "unix:///host/var/run/docker.sock"
|
||||
- name: DD_LOG_LEVEL
|
||||
value: "debug"
|
||||
- name: DD_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_APM_NON_LOCAL_TRAFFIC
|
||||
value: "true"
|
||||
- name: DD_APM_RECEIVER_PORT
|
||||
value: "8126"
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /etc/datadog-agent
|
||||
- name: runtimesocketdir
|
||||
mountPath: /host/var/run
|
||||
readOnly: true
|
||||
livenessProbe:
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 15
|
||||
tcpSocket:
|
||||
port: 8126
|
||||
timeoutSeconds: 5
|
||||
initContainers:
|
||||
- name: init-volume
|
||||
image: "datadog/agent:7.21.1"
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["bash", "-c"]
|
||||
args:
|
||||
- cp -r /etc/datadog-agent /opt
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /opt/datadog-agent
|
||||
resources: {}
|
||||
- name: init-config
|
||||
image: "datadog/agent:7.21.1"
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["bash", "-c"]
|
||||
args:
|
||||
- for script in $(find /etc/cont-init.d/ -type f -name '*.sh' | sort) ; do bash $script ; done
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /etc/datadog-agent
|
||||
- name: procdir
|
||||
mountPath: /host/proc
|
||||
readOnly: true
|
||||
- name: runtimesocketdir
|
||||
mountPath: /host/var/run
|
||||
readOnly: true
|
||||
env:
|
||||
#TODO : API key needs to be used from the "secrets" container above, but
|
||||
# somehow its not working currently and so putting the secret directly here.
|
||||
# The problem that i am facing is the "secrets" against is somehow adding the newline
|
||||
# character to the key making the key invalid and hence not working.
|
||||
- name: DD_API_KEY
|
||||
value: "77ed0972ca94340f9db3fb78ee5e89cc"
|
||||
- name: DD_KUBERNETES_KUBELET_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: KUBERNETES
|
||||
value: "yes"
|
||||
- name: DD_AC_EXCLUDE
|
||||
value: "name:datadog-agent"
|
||||
- name: DOCKER_HOST
|
||||
value: "unix:///host/var/run/docker.sock"
|
||||
- name: DD_LEADER_ELECTION
|
||||
value: "true"
|
||||
resources: {}
|
||||
volumes:
|
||||
- name: config
|
||||
emptyDir: {}
|
||||
- hostPath:
|
||||
path: /var/run
|
||||
name: runtimesocketdir
|
||||
- hostPath:
|
||||
path: /proc
|
||||
name: procdir
|
||||
- hostPath:
|
||||
path: /sys/fs/cgroup
|
||||
name: cgroups
|
||||
- name: s6-run
|
||||
emptyDir: {}
|
||||
- hostPath:
|
||||
path: "/var/lib/datadog-agent/logs"
|
||||
name: pointerdir
|
||||
- hostPath:
|
||||
path: /var/log/pods
|
||||
name: logpodpath
|
||||
- hostPath:
|
||||
path: /var/lib/docker/containers
|
||||
name: logdockercontainerpath
|
||||
- hostPath:
|
||||
path: /var/run
|
||||
name: dockersocketdir
|
||||
tolerations:
|
||||
affinity: {}
|
||||
serviceAccountName: "datadog-agent"
|
||||
nodeSelector:
|
||||
kubernetes.io/os: linux
|
||||
updateStrategy:
|
||||
rollingUpdate:
|
||||
maxUnavailable: 10%
|
||||
type: RollingUpdate
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
|
@ -32,14 +278,27 @@ spec:
|
|||
terminationGracePeriodSeconds: 5
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/emailservice:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/emailservice:latest
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
env:
|
||||
- name: PORT
|
||||
value: "8080"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# Enable datadog tracing
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_SERVICE
|
||||
value: "emailservice"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
readinessProbe:
|
||||
|
@ -86,7 +345,7 @@ spec:
|
|||
spec:
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/checkoutservice:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/checkoutservice:latest
|
||||
ports:
|
||||
- containerPort: 5050
|
||||
readinessProbe:
|
||||
|
@ -110,14 +369,29 @@ spec:
|
|||
value: "currencyservice:7000"
|
||||
- name: CART_SERVICE_ADDR
|
||||
value: "cartservice:7070"
|
||||
# - name: DISABLE_STATS
|
||||
# value: "1"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
# - name: JAEGER_SERVICE_ADDR
|
||||
# value: "jaeger-collector:14268"
|
||||
# Enable datadog tracing
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DATADOG_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_SERVICE
|
||||
value: "checkoutservice"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DISABLE_STATS
|
||||
value: "1"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
- name: JAEGER_SERVICE_ADDR
|
||||
value: "jaeger-collector:14268"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
|
@ -155,7 +429,7 @@ spec:
|
|||
terminationGracePeriodSeconds: 5
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/recommendationservice:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/recommendationservice:latest
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
readinessProbe:
|
||||
|
@ -171,12 +445,24 @@ spec:
|
|||
value: "8080"
|
||||
- name: PRODUCT_CATALOG_SERVICE_ADDR
|
||||
value: "productcatalogservice:3550"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
# - name: DISABLE_DEBUGGER
|
||||
# value: "1"
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_SERVICE
|
||||
value: "recommendationservice"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
- name: DISABLE_DEBUGGER
|
||||
value: "1"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
|
@ -215,7 +501,7 @@ spec:
|
|||
spec:
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/frontend:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/frontend:latest
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
readinessProbe:
|
||||
|
@ -253,12 +539,25 @@ spec:
|
|||
value: "adservice:9555"
|
||||
- name: ENV_PLATFORM
|
||||
value: "gcp"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
# - name: JAEGER_SERVICE_ADDR
|
||||
# value: "jaeger-collector:14268"
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
# Enable datadog tracing
|
||||
- name: DATADOG_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_SERVICE
|
||||
value: "frontend"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
- name: JAEGER_SERVICE_ADDR
|
||||
value: "jaeger-collector:14268"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
|
@ -309,7 +608,7 @@ spec:
|
|||
terminationGracePeriodSeconds: 5
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/paymentservice:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/paymentservice:latest
|
||||
ports:
|
||||
- containerPort: 50051
|
||||
env:
|
||||
|
@ -358,20 +657,35 @@ spec:
|
|||
terminationGracePeriodSeconds: 5
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/productcatalogservice:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/productcatalogservice:latest
|
||||
ports:
|
||||
- containerPort: 3550
|
||||
env:
|
||||
- name: PORT
|
||||
value: "3550"
|
||||
# - name: DISABLE_STATS
|
||||
# value: "1"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
# - name: JAEGER_SERVICE_ADDR
|
||||
# value: "jaeger-collector:14268"
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
# Enable datadog tracing
|
||||
- name: DATADOG_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_SERVICE
|
||||
value: "productcatalogservice"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DISABLE_STATS
|
||||
value: "1"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
- name: JAEGER_SERVICE_ADDR
|
||||
value: "jaeger-collector:14268"
|
||||
readinessProbe:
|
||||
exec:
|
||||
command: ["/bin/grpc_health_probe", "-addr=:3550"]
|
||||
|
@ -415,7 +729,7 @@ spec:
|
|||
terminationGracePeriodSeconds: 5
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/cartservice:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/cartservice:latest
|
||||
ports:
|
||||
- containerPort: 7070
|
||||
env:
|
||||
|
@ -475,7 +789,7 @@ spec:
|
|||
restartPolicy: Always
|
||||
containers:
|
||||
- name: main
|
||||
image: gcr.io/google-samples/microservices-demo/loadgenerator:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/loadgenerator:latest
|
||||
env:
|
||||
- name: FRONTEND_ADDR
|
||||
value: "frontend:80"
|
||||
|
@ -505,7 +819,7 @@ spec:
|
|||
terminationGracePeriodSeconds: 5
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/currencyservice:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/currencyservice:latest
|
||||
ports:
|
||||
- name: grpc
|
||||
containerPort: 7000
|
||||
|
@ -560,20 +874,35 @@ spec:
|
|||
spec:
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/shippingservice:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/shippingservice:latest
|
||||
ports:
|
||||
- containerPort: 50051
|
||||
env:
|
||||
- name: PORT
|
||||
value: "50051"
|
||||
# - name: DISABLE_STATS
|
||||
# value: "1"
|
||||
# - name: DISABLE_TRACING
|
||||
# value: "1"
|
||||
# - name: DISABLE_PROFILER
|
||||
# value: "1"
|
||||
# - name: JAEGER_SERVICE_ADDR
|
||||
# value: "jaeger-collector:14268"
|
||||
# Enable datadog tracing
|
||||
- name: DD_AGENT_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DATADOG_APM_ENABLED
|
||||
value: "true"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_ENV
|
||||
value: "prod"
|
||||
- name: DD_SERVICE
|
||||
value: "shippingservice"
|
||||
- name: DD_VERSION
|
||||
value: "latest"
|
||||
- name: DISABLE_STATS
|
||||
value: "1"
|
||||
- name: DISABLE_TRACING
|
||||
value: "1"
|
||||
- name: DISABLE_PROFILER
|
||||
value: "1"
|
||||
- name: JAEGER_SERVICE_ADDR
|
||||
value: "jaeger-collector:14268"
|
||||
readinessProbe:
|
||||
periodSeconds: 5
|
||||
exec:
|
||||
|
@ -671,7 +1000,7 @@ spec:
|
|||
terminationGracePeriodSeconds: 5
|
||||
containers:
|
||||
- name: server
|
||||
image: gcr.io/google-samples/microservices-demo/adservice:v0.2.0
|
||||
image: gcr.io/relyance-internal/boutique-app/adservice:latest
|
||||
ports:
|
||||
- containerPort: 9555
|
||||
env:
|
||||
|
|
|
@ -43,7 +43,7 @@ build:
|
|||
- image: adservice
|
||||
context: src/adservice
|
||||
tagPolicy:
|
||||
gitCommit: {}
|
||||
sha256: {} # the sha256 always tags the images as `latest` (which points to sha256 of the image built)
|
||||
deploy:
|
||||
kubectl:
|
||||
manifests:
|
||||
|
|
260
src/checkoutservice/Gopkg.lock
generated
260
src/checkoutservice/Gopkg.lock
generated
|
@ -9,19 +9,19 @@
|
|||
"internal/version",
|
||||
"monitoring/apiv3",
|
||||
"profiler",
|
||||
"trace/apiv2"
|
||||
"trace/apiv2",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "457ea5c15ccf3b87db582c450e80101989da35f7"
|
||||
version = "v0.40.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:bcd1b2dd631e720b6129e801bf0766c50fb4d39455c0a255047e8fc71c31152f"
|
||||
digest = "1:5baabd5f5d47219f2bbcd130b61376e1b2e641e0826157b017dab3f88f018827"
|
||||
name = "contrib.go.opencensus.io/exporter/jaeger"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "540daef1da72376e9b3e1d52e4f90403d72f5c00"
|
||||
version = "v0.2.0"
|
||||
revision = "30c8b0fe8ad9d0eac5785893f3941b2e72c5aaaa"
|
||||
version = "v0.2.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4b96dcd8534bc6450a922bd16a76360ba3381f0d1daf40abbaec91c053fbfeb5"
|
||||
|
@ -32,9 +32,29 @@
|
|||
version = "v0.5.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:1d3ad0f6a57c08e2168089a64c34313930571fcbe5359d71c608a97ce504f7ca"
|
||||
digest = "1:4f726c47cabd8cf517114ff99d0bc16d23ae4e1cfe50c94986c57d90fc66a941"
|
||||
name = "github.com/DataDog/datadog-go"
|
||||
packages = ["statsd"]
|
||||
pruneopts = "UT"
|
||||
revision = "b5f99e5a502785e43356d1f710e8ae1ee948503b"
|
||||
version = "v4.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4287343c81d259e828b2e3b579270139a498a2168fbab81d89c3b9926b4ec740"
|
||||
name = "github.com/GoogleCloudPlatform/microservices-demo"
|
||||
packages = [
|
||||
"src/checkoutservice/genproto",
|
||||
"src/checkoutservice/money",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "c2095a7d4b8abd538251b705325d6a493a23e009"
|
||||
version = "v0.2.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:9d2705f9d2e7da697c24b2ab104567b155107b2aad26ca615973c0a8f02f757a"
|
||||
name = "github.com/golang/protobuf"
|
||||
packages = [
|
||||
"jsonpb",
|
||||
"proto",
|
||||
"protoc-gen-go/descriptor",
|
||||
"ptypes",
|
||||
|
@ -43,19 +63,33 @@
|
|||
"ptypes/empty",
|
||||
"ptypes/struct",
|
||||
"ptypes/timestamp",
|
||||
"ptypes/wrappers"
|
||||
"ptypes/wrappers",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b5d812f8a3706043e23a9cd5babf2e5423744d30"
|
||||
version = "v1.3.1"
|
||||
revision = "d04d7b157bb510b1e0c10132224b616ac0e26b17"
|
||||
version = "v1.4.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:85af59d73a44bd58f524cf05dee34a5021afe1fa4a852079b535c38ae2d1a2e8"
|
||||
name = "github.com/google/go-cmp"
|
||||
packages = [
|
||||
"cmp",
|
||||
"cmp/internal/diff",
|
||||
"cmp/internal/flags",
|
||||
"cmp/internal/function",
|
||||
"cmp/internal/value",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "9680bfaf28748393e28e00238d94070fb9972fd8"
|
||||
version = "v0.5.1"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:dcb1edb161b1b1cac9aedf2a17b9b2c7829e242624968875a3c1b97dd9f4ef00"
|
||||
digest = "1:7f49181edc3aa34ec3145a0050ce4af901a9c3238774f362784ce39227bc1f3a"
|
||||
name = "github.com/google/pprof"
|
||||
packages = ["profile"]
|
||||
pruneopts = "UT"
|
||||
revision = "54271f7e092ff31b10b7626fee166cbc6304e350"
|
||||
revision = "1a94d8640e99342fa76ae6296aaa921d08ac451f"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:582b704bebaa06b48c29b0cec224a6058a09c86883aaddabde889cd1a5f73e1b"
|
||||
|
@ -74,33 +108,49 @@
|
|||
version = "v2.0.5"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:31e761d97c76151dde79e9d28964a812c46efc5baee4085b86f68f0c654450de"
|
||||
digest = "1:09cb61dc19af93deae01587e2fdb1c081e0bf48f1a5ad5fa24f48750dc57dce8"
|
||||
name = "github.com/konsorten/go-windows-terminal-sequences"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e"
|
||||
version = "v1.0.2"
|
||||
revision = "edb144dfd453055e1e49a3d8b410a660b5a87613"
|
||||
version = "v1.0.3"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:04457f9f6f3ffc5fea48e71d62f2ca256637dee0a04d710288e27e05c8b41976"
|
||||
digest = "1:5e73b34a27d827212102605789de00bd411b2e434812133c83935fe9897c75e1"
|
||||
name = "github.com/philhofer/fwd"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "bb6d471dc95d4fe11e432687f8b70ff496cf3136"
|
||||
version = "v1.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:05eebdd5727fea23083fce0d98d307d70c86baed644178e81608aaa9f09ea469"
|
||||
name = "github.com/sirupsen/logrus"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "839c75faf7f98a33d445d181f3018b5c3409a45e"
|
||||
version = "v1.4.2"
|
||||
revision = "60c74ad9be0d874af0ab0daef6ab07c5c5911f0d"
|
||||
version = "v1.6.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:be83cecd5ba066751e3f789c1faecf5a3229031c7986eb486f593a6e32446ac0"
|
||||
digest = "1:6636bfca29dde8561c03e98ccddbe36240f13a01ac770d7ea07f4fd019ed6e65"
|
||||
name = "github.com/tinylib/msgp"
|
||||
packages = ["msgp"]
|
||||
pruneopts = "UT"
|
||||
revision = "4253cdaa5267687e3b7612da7ff105d4414174da"
|
||||
version = "v1.1.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:a6175cb931f5b9da33e92f6057e0de28badbe6dfdc32f4bf378ffd9a2c461d03"
|
||||
name = "github.com/uber/jaeger-client-go"
|
||||
packages = [
|
||||
"thrift",
|
||||
"thrift-gen/agent",
|
||||
"thrift-gen/jaeger",
|
||||
"thrift-gen/zipkincore"
|
||||
"thrift-gen/zipkincore",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "f2e1f58485aacf2975cdde9c9f5396e6d98c35ba"
|
||||
version = "v2.21.1"
|
||||
revision = "121ee6fb26fd9617fc30d0d95569a39c30ca3b76"
|
||||
version = "v2.25.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:1bb914cfb78f68f488a91cd7872d3d06a5f83c5bbacf0296dbef44e120b00a91"
|
||||
|
@ -119,7 +169,7 @@
|
|||
"trace",
|
||||
"trace/internal",
|
||||
"trace/propagation",
|
||||
"trace/tracestate"
|
||||
"trace/tracestate",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b11f239c032624b045c4c2bfd3d1287b4012ce89"
|
||||
|
@ -127,7 +177,7 @@
|
|||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:2f357867bf425774d35beca5be718402a4488b8b23b1563ce8c5bb91d09285a7"
|
||||
digest = "1:6a803f0f3ecbe7e804185a165b3e36eeb0a62f806e7fbe61e842966127991a64"
|
||||
name = "golang.org/x/net"
|
||||
packages = [
|
||||
"context",
|
||||
|
@ -137,43 +187,48 @@
|
|||
"http2/hpack",
|
||||
"idna",
|
||||
"internal/timeseries",
|
||||
"trace"
|
||||
"trace",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "da137c7871d730100384dbcf36e6f8fa493aef5b"
|
||||
revision = "c89045814202410a2d67ec20ecf177ec77ceae7f"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:31e33f76456ccf54819ab4a646cf01271d1a99d7712ab84bf1a9e7b61cd2031b"
|
||||
digest = "1:79edde3241bb55de9f4143d5083bfcff722e550c3cb8db94084eab50d0e440b5"
|
||||
name = "golang.org/x/oauth2"
|
||||
packages = [
|
||||
".",
|
||||
"google",
|
||||
"internal",
|
||||
"jws",
|
||||
"jwt"
|
||||
"jwt",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33"
|
||||
revision = "bf48bf16ab8d622ce64ec6ce98d2c98f916b6303"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:382bb5a7fb4034db3b6a2d19e5a4a6bcf52f4750530603c01ca18a172fa3089b"
|
||||
digest = "1:4692f916cb72b2c295f04841036d85a3f13e96d1cc9e8e4c2c30edebac518053"
|
||||
name = "golang.org/x/sync"
|
||||
packages = ["semaphore"]
|
||||
pruneopts = "UT"
|
||||
revision = "112230192c580c3556b8cee6403af37a4fc5f28c"
|
||||
revision = "6e8e738ad208923de99951fe0b48239bfd864f28"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:730ba27cd66db3b98ec8f51a6f20d45ec277d490cca36b1f54e31d3fcaf4840e"
|
||||
digest = "1:288524d218ffbd2adb8cf423f2afb863ccce0a000446a2b0d467931d1e517ba0"
|
||||
name = "golang.org/x/sys"
|
||||
packages = ["unix"]
|
||||
packages = [
|
||||
"internal/unsafeheader",
|
||||
"unix",
|
||||
"windows",
|
||||
"windows/registry",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "04f50cda93cbb67f2afa353c52f342100e80e625"
|
||||
revision = "c12d262b63d83031f2db2f528267f9a4f58e2775"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405"
|
||||
digest = "1:fa940333c48808b0d86ef21f412ffcfd0e5084a82f13905c028a404803b1908f"
|
||||
name = "golang.org/x/text"
|
||||
packages = [
|
||||
"collate",
|
||||
|
@ -191,15 +246,34 @@
|
|||
"unicode/bidi",
|
||||
"unicode/cldr",
|
||||
"unicode/norm",
|
||||
"unicode/rangetable"
|
||||
"unicode/rangetable",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "342b2e1fbaa52c93f31447ad2c6abc048c63e475"
|
||||
version = "v0.3.2"
|
||||
revision = "23ae387dee1f90d29a23c0e87ee0b46038fbed0e"
|
||||
version = "v0.3.3"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:bc06b12d8436550fccc0212037e9281a7e4d53db25c2349eb3cc6c3457e0406b"
|
||||
digest = "1:9a12483c63e8328a477280cd6855689af0f584eb580b66c0d113a1f5fe7791b0"
|
||||
name = "golang.org/x/time"
|
||||
packages = ["rate"]
|
||||
pruneopts = "UT"
|
||||
revision = "3af7569d3a1e776fc2a3c1cec133b43105ea9c2e"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:918a46e4a2fb83df33f668f5a6bd51b2996775d073fce1800d3ec01b0a5ddd2b"
|
||||
name = "golang.org/x/xerrors"
|
||||
packages = [
|
||||
".",
|
||||
"internal",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:49329e5d3d686037e3255b4d555f3751d275771cb3e60f6fe6cfa47abf90110f"
|
||||
name = "google.golang.org/api"
|
||||
packages = [
|
||||
"googleapi/transport",
|
||||
|
@ -208,15 +282,16 @@
|
|||
"option",
|
||||
"support/bundler",
|
||||
"transport",
|
||||
"transport/cert",
|
||||
"transport/grpc",
|
||||
"transport/http",
|
||||
"transport/http/internal/propagation"
|
||||
"transport/http/internal/propagation",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "aae1d1b89c27132abe4fa22731a2a61e7089079c"
|
||||
revision = "b77a6912936dced70abf0869ccb1d02d802567de"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:2c26b1c47556c0e5e73cdb05d8361c463737eee4baac35d38b40c728c3074a94"
|
||||
digest = "1:9a3c550c85a5a62ccc4cadd8525497b99554094a1adecc560c97bebc231ca81b"
|
||||
name = "google.golang.org/appengine"
|
||||
packages = [
|
||||
".",
|
||||
|
@ -230,15 +305,15 @@
|
|||
"internal/socket",
|
||||
"internal/urlfetch",
|
||||
"socket",
|
||||
"urlfetch"
|
||||
"urlfetch",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b2f4a3cf3c67576a2ee09e1fe62656a5086ce880"
|
||||
version = "v1.6.1"
|
||||
revision = "553959209a20f3be281c16dd5be5c740a893978f"
|
||||
version = "v1.6.6"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:cb0f37e3cdf50a27abbf33a48797b30786239d4fd69dbfbbc63cfa19d400d3ce"
|
||||
digest = "1:03c2b11b1e1f705b0f5cfc21a5e2b3e0e71456173cd52591c7478b3d1f2c9792"
|
||||
name = "google.golang.org/genproto"
|
||||
packages = [
|
||||
"googleapis/api",
|
||||
|
@ -252,20 +327,24 @@
|
|||
"googleapis/monitoring/v3",
|
||||
"googleapis/rpc/errdetails",
|
||||
"googleapis/rpc/status",
|
||||
"protobuf/field_mask"
|
||||
"googleapis/type/calendarperiod",
|
||||
"protobuf/field_mask",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3bdd9d9f5532d75d09efb230bd767d265245cfe5"
|
||||
revision = "f69a88009b70a94c67e3910bf1663f5df9fbfc6d"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:f379776e36e55e5b5cbf7187ea58280812785071de53046230006e47894650b6"
|
||||
digest = "1:92f84847381cc2ee44933fa3cfd6d6f669596db21a22e122441ea6b8358afe3d"
|
||||
name = "google.golang.org/grpc"
|
||||
packages = [
|
||||
".",
|
||||
"attributes",
|
||||
"backoff",
|
||||
"balancer",
|
||||
"balancer/base",
|
||||
"balancer/grpclb",
|
||||
"balancer/grpclb/grpc_lb_v1",
|
||||
"balancer/grpclb/state",
|
||||
"balancer/roundrobin",
|
||||
"binarylog/grpc_binarylog_v1",
|
||||
"codes",
|
||||
|
@ -289,27 +368,96 @@
|
|||
"internal/backoff",
|
||||
"internal/balancerload",
|
||||
"internal/binarylog",
|
||||
"internal/buffer",
|
||||
"internal/channelz",
|
||||
"internal/credentials",
|
||||
"internal/envconfig",
|
||||
"internal/grpclog",
|
||||
"internal/grpcrand",
|
||||
"internal/grpcsync",
|
||||
"internal/grpcutil",
|
||||
"internal/resolver/dns",
|
||||
"internal/resolver/passthrough",
|
||||
"internal/serviceconfig",
|
||||
"internal/status",
|
||||
"internal/syscall",
|
||||
"internal/transport",
|
||||
"keepalive",
|
||||
"metadata",
|
||||
"naming",
|
||||
"peer",
|
||||
"resolver",
|
||||
"resolver/dns",
|
||||
"resolver/passthrough",
|
||||
"serviceconfig",
|
||||
"stats",
|
||||
"status",
|
||||
"tap"
|
||||
"tap",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "1d89a3c832915b2314551c1d2a506874d62e53f7"
|
||||
version = "v1.22.0"
|
||||
revision = "bde0263672f027525e2950992a4c7db7af572b59"
|
||||
version = "v1.31.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4a0202ad403c5a9c79ae7d6673aabb8e4ae2163654167229a49cc0155687effa"
|
||||
name = "google.golang.org/protobuf"
|
||||
packages = [
|
||||
"encoding/protojson",
|
||||
"encoding/prototext",
|
||||
"encoding/protowire",
|
||||
"internal/descfmt",
|
||||
"internal/descopts",
|
||||
"internal/detrand",
|
||||
"internal/encoding/defval",
|
||||
"internal/encoding/json",
|
||||
"internal/encoding/messageset",
|
||||
"internal/encoding/tag",
|
||||
"internal/encoding/text",
|
||||
"internal/errors",
|
||||
"internal/fieldsort",
|
||||
"internal/filedesc",
|
||||
"internal/filetype",
|
||||
"internal/flags",
|
||||
"internal/genid",
|
||||
"internal/impl",
|
||||
"internal/mapsort",
|
||||
"internal/pragma",
|
||||
"internal/set",
|
||||
"internal/strs",
|
||||
"internal/version",
|
||||
"proto",
|
||||
"reflect/protoreflect",
|
||||
"reflect/protoregistry",
|
||||
"runtime/protoiface",
|
||||
"runtime/protoimpl",
|
||||
"types/descriptorpb",
|
||||
"types/known/anypb",
|
||||
"types/known/durationpb",
|
||||
"types/known/emptypb",
|
||||
"types/known/fieldmaskpb",
|
||||
"types/known/structpb",
|
||||
"types/known/timestamppb",
|
||||
"types/known/wrapperspb",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3f7a61f89bb6813f89d981d1870ed68da0b3c3f1"
|
||||
version = "v1.25.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c4d5c7382aa68038f57265590b6025bebb3d41fdd66bc8474f0644b422130890"
|
||||
name = "gopkg.in/DataDog/dd-trace-go.v1"
|
||||
packages = [
|
||||
"contrib/google.golang.org/grpc",
|
||||
"contrib/google.golang.org/internal/grpcutil",
|
||||
"ddtrace",
|
||||
"ddtrace/ext",
|
||||
"ddtrace/internal",
|
||||
"ddtrace/tracer",
|
||||
"internal",
|
||||
"internal/globalconfig",
|
||||
"internal/log",
|
||||
"internal/version",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "6d7c52cd8ab1ea309fd54c1a2ef472fadb84429c"
|
||||
version = "v1.26.0"
|
||||
|
||||
[solve-meta]
|
||||
analyzer-name = "dep"
|
||||
|
@ -318,6 +466,8 @@
|
|||
"cloud.google.com/go/profiler",
|
||||
"contrib.go.opencensus.io/exporter/jaeger",
|
||||
"contrib.go.opencensus.io/exporter/stackdriver",
|
||||
"github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice/genproto",
|
||||
"github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice/money",
|
||||
"github.com/golang/protobuf/proto",
|
||||
"github.com/google/uuid",
|
||||
"github.com/sirupsen/logrus",
|
||||
|
@ -328,7 +478,9 @@
|
|||
"google.golang.org/grpc",
|
||||
"google.golang.org/grpc/codes",
|
||||
"google.golang.org/grpc/health/grpc_health_v1",
|
||||
"google.golang.org/grpc/status"
|
||||
"google.golang.org/grpc/status",
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc",
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer",
|
||||
]
|
||||
solver-name = "gps-cdcl"
|
||||
solver-version = 1
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
# non-go = false
|
||||
# go-tests = true
|
||||
# unused-packages = true
|
||||
|
||||
|
||||
[[constraint]]
|
||||
name = "cloud.google.com/go"
|
||||
version = "0.40.0"
|
||||
|
@ -60,3 +58,4 @@
|
|||
[[constraint]]
|
||||
name = "contrib.go.opencensus.io/exporter/jaeger"
|
||||
version = "0.2.0"
|
||||
|
||||
|
|
|
@ -29,9 +29,11 @@ import (
|
|||
"go.opencensus.io/plugin/ocgrpc"
|
||||
"go.opencensus.io/stats/view"
|
||||
"go.opencensus.io/trace"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
|
||||
gt "gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc"
|
||||
"google.golang.org/grpc"
|
||||
|
||||
pb "github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice/genproto"
|
||||
money "github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice/money"
|
||||
|
@ -69,6 +71,12 @@ type checkoutService struct {
|
|||
}
|
||||
|
||||
func main() {
|
||||
tracer.Start(
|
||||
tracer.WithEnv("prod"),
|
||||
tracer.WithService("checkoutservice"),
|
||||
tracer.WithDebugMode(true),
|
||||
)
|
||||
defer tracer.Stop()
|
||||
if os.Getenv("DISABLE_TRACING") == "" {
|
||||
log.Info("Tracing enabled.")
|
||||
go initTracing()
|
||||
|
@ -104,13 +112,24 @@ func main() {
|
|||
}
|
||||
|
||||
var srv *grpc.Server
|
||||
|
||||
if os.Getenv("DISABLE_STATS") == "" {
|
||||
log.Info("Stats enabled.")
|
||||
srv = grpc.NewServer(grpc.StatsHandler(&ocgrpc.ServerHandler{}))
|
||||
} else if os.Getenv("DATADOG_APM_ENABLED") == "true" { //datadog traces enabled
|
||||
log.Info("Datadog enabled.")
|
||||
// Create the server interceptor using the grpc trace package.
|
||||
grpc_option := gt.WithServiceName(os.Getenv("DD_SERVICE"))
|
||||
unary_server_trace := gt.UnaryServerInterceptor(grpc_option)
|
||||
stream_server_trace := gt.StreamServerInterceptor(grpc_option)
|
||||
unary_trace := grpc.UnaryInterceptor(unary_server_trace)
|
||||
stream_trace := grpc.StreamInterceptor(stream_server_trace)
|
||||
srv = grpc.NewServer(unary_trace, stream_trace)
|
||||
} else {
|
||||
log.Info("Stats disabled.")
|
||||
srv = grpc.NewServer()
|
||||
srv = grpc.NewServer()
|
||||
}
|
||||
|
||||
pb.RegisterCheckoutServiceServer(srv, svc)
|
||||
healthpb.RegisterHealthServer(srv, svc)
|
||||
log.Infof("starting to listen on tcp: %q", lis.Addr().String())
|
||||
|
|
|
@ -40,6 +40,8 @@ RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \
|
|||
wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \
|
||||
chmod +x /bin/grpc_health_probe
|
||||
|
||||
RUN pip install --force ddtrace
|
||||
|
||||
WORKDIR /email_server
|
||||
|
||||
# Grab packages from builder
|
||||
|
@ -47,6 +49,5 @@ COPY --from=builder /usr/local/lib/python3.7/ /usr/local/lib/python3.7/
|
|||
|
||||
# Add the application
|
||||
COPY . .
|
||||
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT [ "python", "email_server.py" ]
|
||||
|
|
|
@ -25,6 +25,9 @@ logger = getJSONLogger('emailservice-client')
|
|||
from opencensus.trace.tracer import Tracer
|
||||
from opencensus.trace.exporters import stackdriver_exporter
|
||||
from opencensus.trace.ext.grpc import client_interceptor
|
||||
from ddtrace import patch_all
|
||||
patch_all()
|
||||
from ddtrace import tracer
|
||||
|
||||
try:
|
||||
exporter = stackdriver_exporter.StackdriverExporter()
|
||||
|
@ -33,6 +36,7 @@ try:
|
|||
except:
|
||||
tracer_interceptor = client_interceptor.OpenCensusClientInterceptor()
|
||||
|
||||
@tracer.wrap('send_confirmation_email', service='emailservice')
|
||||
def send_confirmation_email(email, order):
|
||||
channel = grpc.insecure_channel('0.0.0.0:8080')
|
||||
channel = grpc.intercept_channel(channel, tracer_interceptor)
|
||||
|
|
|
@ -38,6 +38,10 @@ from opencensus.trace.samplers import always_on
|
|||
# import googleclouddebugger
|
||||
import googlecloudprofiler
|
||||
|
||||
from ddtrace import patch_all
|
||||
patch_all()
|
||||
from ddtrace import tracer
|
||||
|
||||
from logger import getJSONLogger
|
||||
logger = getJSONLogger('emailservice-server')
|
||||
|
||||
|
@ -118,6 +122,7 @@ class HealthCheck():
|
|||
return health_pb2.HealthCheckResponse(
|
||||
status=health_pb2.HealthCheckResponse.SERVING)
|
||||
|
||||
@tracer.wrap('start', service='emailservice')
|
||||
def start(dummy_mode):
|
||||
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10),
|
||||
interceptors=(tracer_interceptor,))
|
||||
|
|
|
@ -5,3 +5,4 @@ jinja2==2.10
|
|||
opencensus[stackdriver]==0.1.10
|
||||
python-json-logger==0.1.9
|
||||
google-cloud-profiler==1.0.8
|
||||
ddtrace
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --output-file requirements.txt requirements.in
|
||||
# pip-compile --output-file=requirements.txt requirements.in
|
||||
#
|
||||
cachetools==3.0.0 # via google-auth
|
||||
certifi==2018.11.29 # via requests
|
||||
|
@ -19,16 +19,23 @@ grpcio-health-checking==1.12.1 # via -r requirements.in
|
|||
grpcio==1.16.1 # via -r requirements.in, google-api-core, grpcio-health-checking
|
||||
httplib2==0.18.0 # via google-api-python-client, google-auth-httplib2
|
||||
idna==2.8 # via requests
|
||||
intervaltree==3.1.0 # via ddtrace
|
||||
jinja2==2.10 # via -r requirements.in
|
||||
markupsafe==1.1.0 # via jinja2
|
||||
opencensus[stackdriver]==0.1.10 # via -r requirements.in
|
||||
protobuf==3.6.1 # via google-api-core, google-cloud-profiler, googleapis-common-protos, grpcio-health-checking
|
||||
protobuf==3.6.1 # via ddtrace, google-api-core, google-cloud-profiler, googleapis-common-protos, grpcio-health-checking
|
||||
pyasn1-modules==0.2.3 # via google-auth
|
||||
pyasn1==0.4.5 # via pyasn1-modules, rsa
|
||||
python-json-logger==0.1.9 # via -r requirements.in
|
||||
pytz==2018.9 # via google-api-core
|
||||
requests==2.21.0 # via google-api-core, google-cloud-profiler
|
||||
rsa==4.0 # via google-auth
|
||||
six==1.12.0 # via google-api-core, google-api-python-client, google-auth, grpcio, protobuf
|
||||
six==1.12.0 # via google-api-core, google-api-python-client, google-auth, grpcio, protobuf, tenacity
|
||||
sortedcontainers==2.2.2 # via intervaltree
|
||||
tenacity==6.2.0 # via ddtrace
|
||||
uritemplate==3.0.0 # via google-api-python-client
|
||||
urllib3==1.24.2 # via requests
|
||||
ddtrace
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
# setuptools
|
||||
|
|
266
src/frontend/Gopkg.lock
generated
266
src/frontend/Gopkg.lock
generated
|
@ -9,19 +9,19 @@
|
|||
"internal/version",
|
||||
"monitoring/apiv3",
|
||||
"profiler",
|
||||
"trace/apiv2"
|
||||
"trace/apiv2",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "457ea5c15ccf3b87db582c450e80101989da35f7"
|
||||
version = "v0.40.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:bcd1b2dd631e720b6129e801bf0766c50fb4d39455c0a255047e8fc71c31152f"
|
||||
digest = "1:5baabd5f5d47219f2bbcd130b61376e1b2e641e0826157b017dab3f88f018827"
|
||||
name = "contrib.go.opencensus.io/exporter/jaeger"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "540daef1da72376e9b3e1d52e4f90403d72f5c00"
|
||||
version = "v0.2.0"
|
||||
revision = "30c8b0fe8ad9d0eac5785893f3941b2e72c5aaaa"
|
||||
version = "v0.2.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4b96dcd8534bc6450a922bd16a76360ba3381f0d1daf40abbaec91c053fbfeb5"
|
||||
|
@ -32,9 +32,29 @@
|
|||
version = "v0.5.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:1d3ad0f6a57c08e2168089a64c34313930571fcbe5359d71c608a97ce504f7ca"
|
||||
digest = "1:4f726c47cabd8cf517114ff99d0bc16d23ae4e1cfe50c94986c57d90fc66a941"
|
||||
name = "github.com/DataDog/datadog-go"
|
||||
packages = ["statsd"]
|
||||
pruneopts = "UT"
|
||||
revision = "b5f99e5a502785e43356d1f710e8ae1ee948503b"
|
||||
version = "v4.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c4f0a05580fb5d27e1cc8f5723a8d33fd97590a931e845f23b104e05c02ea80b"
|
||||
name = "github.com/GoogleCloudPlatform/microservices-demo"
|
||||
packages = [
|
||||
"src/frontend/genproto",
|
||||
"src/frontend/money",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "c2095a7d4b8abd538251b705325d6a493a23e009"
|
||||
version = "v0.2.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:9d2705f9d2e7da697c24b2ab104567b155107b2aad26ca615973c0a8f02f757a"
|
||||
name = "github.com/golang/protobuf"
|
||||
packages = [
|
||||
"jsonpb",
|
||||
"proto",
|
||||
"protoc-gen-go/descriptor",
|
||||
"ptypes",
|
||||
|
@ -43,19 +63,33 @@
|
|||
"ptypes/empty",
|
||||
"ptypes/struct",
|
||||
"ptypes/timestamp",
|
||||
"ptypes/wrappers"
|
||||
"ptypes/wrappers",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b5d812f8a3706043e23a9cd5babf2e5423744d30"
|
||||
version = "v1.3.1"
|
||||
revision = "d04d7b157bb510b1e0c10132224b616ac0e26b17"
|
||||
version = "v1.4.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:85af59d73a44bd58f524cf05dee34a5021afe1fa4a852079b535c38ae2d1a2e8"
|
||||
name = "github.com/google/go-cmp"
|
||||
packages = [
|
||||
"cmp",
|
||||
"cmp/internal/diff",
|
||||
"cmp/internal/flags",
|
||||
"cmp/internal/function",
|
||||
"cmp/internal/value",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "9680bfaf28748393e28e00238d94070fb9972fd8"
|
||||
version = "v0.5.1"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:dcb1edb161b1b1cac9aedf2a17b9b2c7829e242624968875a3c1b97dd9f4ef00"
|
||||
digest = "1:7f49181edc3aa34ec3145a0050ce4af901a9c3238774f362784ce39227bc1f3a"
|
||||
name = "github.com/google/pprof"
|
||||
packages = ["profile"]
|
||||
pruneopts = "UT"
|
||||
revision = "54271f7e092ff31b10b7626fee166cbc6304e350"
|
||||
revision = "1a94d8640e99342fa76ae6296aaa921d08ac451f"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:582b704bebaa06b48c29b0cec224a6058a09c86883aaddabde889cd1a5f73e1b"
|
||||
|
@ -74,20 +108,28 @@
|
|||
version = "v2.0.5"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:cbec35fe4d5a4fba369a656a8cd65e244ea2c743007d8f6c1ccb132acf9d1296"
|
||||
digest = "1:6078383dbb7405bfa3ce16957f37564e3b716afa29b6eb45ffdb6674624d1e0d"
|
||||
name = "github.com/gorilla/mux"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "00bdffe0f3c77e27d2cf6f5c70232a2d3e4d9c15"
|
||||
version = "v1.7.3"
|
||||
revision = "98cb6bf42e086f6af920b965c38cacc07402d51b"
|
||||
version = "v1.8.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:31e761d97c76151dde79e9d28964a812c46efc5baee4085b86f68f0c654450de"
|
||||
digest = "1:09cb61dc19af93deae01587e2fdb1c081e0bf48f1a5ad5fa24f48750dc57dce8"
|
||||
name = "github.com/konsorten/go-windows-terminal-sequences"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e"
|
||||
version = "v1.0.2"
|
||||
revision = "edb144dfd453055e1e49a3d8b410a660b5a87613"
|
||||
version = "v1.0.3"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:5e73b34a27d827212102605789de00bd411b2e434812133c83935fe9897c75e1"
|
||||
name = "github.com/philhofer/fwd"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "bb6d471dc95d4fe11e432687f8b70ff496cf3136"
|
||||
version = "v1.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:cf31692c14422fa27c83a05292eb5cbe0fb2775972e8f1f8446a71549bd8980b"
|
||||
|
@ -98,25 +140,33 @@
|
|||
version = "v0.8.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:04457f9f6f3ffc5fea48e71d62f2ca256637dee0a04d710288e27e05c8b41976"
|
||||
digest = "1:05eebdd5727fea23083fce0d98d307d70c86baed644178e81608aaa9f09ea469"
|
||||
name = "github.com/sirupsen/logrus"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "839c75faf7f98a33d445d181f3018b5c3409a45e"
|
||||
version = "v1.4.2"
|
||||
revision = "60c74ad9be0d874af0ab0daef6ab07c5c5911f0d"
|
||||
version = "v1.6.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:be83cecd5ba066751e3f789c1faecf5a3229031c7986eb486f593a6e32446ac0"
|
||||
digest = "1:6636bfca29dde8561c03e98ccddbe36240f13a01ac770d7ea07f4fd019ed6e65"
|
||||
name = "github.com/tinylib/msgp"
|
||||
packages = ["msgp"]
|
||||
pruneopts = "UT"
|
||||
revision = "4253cdaa5267687e3b7612da7ff105d4414174da"
|
||||
version = "v1.1.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:a6175cb931f5b9da33e92f6057e0de28badbe6dfdc32f4bf378ffd9a2c461d03"
|
||||
name = "github.com/uber/jaeger-client-go"
|
||||
packages = [
|
||||
"thrift",
|
||||
"thrift-gen/agent",
|
||||
"thrift-gen/jaeger",
|
||||
"thrift-gen/zipkincore"
|
||||
"thrift-gen/zipkincore",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "f2e1f58485aacf2975cdde9c9f5396e6d98c35ba"
|
||||
version = "v2.21.1"
|
||||
revision = "121ee6fb26fd9617fc30d0d95569a39c30ca3b76"
|
||||
version = "v2.25.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:1bb914cfb78f68f488a91cd7872d3d06a5f83c5bbacf0296dbef44e120b00a91"
|
||||
|
@ -135,7 +185,7 @@
|
|||
"trace",
|
||||
"trace/internal",
|
||||
"trace/propagation",
|
||||
"trace/tracestate"
|
||||
"trace/tracestate",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b11f239c032624b045c4c2bfd3d1287b4012ce89"
|
||||
|
@ -143,7 +193,7 @@
|
|||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:2f357867bf425774d35beca5be718402a4488b8b23b1563ce8c5bb91d09285a7"
|
||||
digest = "1:6a803f0f3ecbe7e804185a165b3e36eeb0a62f806e7fbe61e842966127991a64"
|
||||
name = "golang.org/x/net"
|
||||
packages = [
|
||||
"context",
|
||||
|
@ -153,43 +203,48 @@
|
|||
"http2/hpack",
|
||||
"idna",
|
||||
"internal/timeseries",
|
||||
"trace"
|
||||
"trace",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "da137c7871d730100384dbcf36e6f8fa493aef5b"
|
||||
revision = "c89045814202410a2d67ec20ecf177ec77ceae7f"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:31e33f76456ccf54819ab4a646cf01271d1a99d7712ab84bf1a9e7b61cd2031b"
|
||||
digest = "1:79edde3241bb55de9f4143d5083bfcff722e550c3cb8db94084eab50d0e440b5"
|
||||
name = "golang.org/x/oauth2"
|
||||
packages = [
|
||||
".",
|
||||
"google",
|
||||
"internal",
|
||||
"jws",
|
||||
"jwt"
|
||||
"jwt",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33"
|
||||
revision = "bf48bf16ab8d622ce64ec6ce98d2c98f916b6303"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:382bb5a7fb4034db3b6a2d19e5a4a6bcf52f4750530603c01ca18a172fa3089b"
|
||||
digest = "1:4692f916cb72b2c295f04841036d85a3f13e96d1cc9e8e4c2c30edebac518053"
|
||||
name = "golang.org/x/sync"
|
||||
packages = ["semaphore"]
|
||||
pruneopts = "UT"
|
||||
revision = "112230192c580c3556b8cee6403af37a4fc5f28c"
|
||||
revision = "6e8e738ad208923de99951fe0b48239bfd864f28"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:730ba27cd66db3b98ec8f51a6f20d45ec277d490cca36b1f54e31d3fcaf4840e"
|
||||
digest = "1:288524d218ffbd2adb8cf423f2afb863ccce0a000446a2b0d467931d1e517ba0"
|
||||
name = "golang.org/x/sys"
|
||||
packages = ["unix"]
|
||||
packages = [
|
||||
"internal/unsafeheader",
|
||||
"unix",
|
||||
"windows",
|
||||
"windows/registry",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "04f50cda93cbb67f2afa353c52f342100e80e625"
|
||||
revision = "c12d262b63d83031f2db2f528267f9a4f58e2775"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405"
|
||||
digest = "1:fa940333c48808b0d86ef21f412ffcfd0e5084a82f13905c028a404803b1908f"
|
||||
name = "golang.org/x/text"
|
||||
packages = [
|
||||
"collate",
|
||||
|
@ -207,15 +262,34 @@
|
|||
"unicode/bidi",
|
||||
"unicode/cldr",
|
||||
"unicode/norm",
|
||||
"unicode/rangetable"
|
||||
"unicode/rangetable",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "342b2e1fbaa52c93f31447ad2c6abc048c63e475"
|
||||
version = "v0.3.2"
|
||||
revision = "23ae387dee1f90d29a23c0e87ee0b46038fbed0e"
|
||||
version = "v0.3.3"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:bc06b12d8436550fccc0212037e9281a7e4d53db25c2349eb3cc6c3457e0406b"
|
||||
digest = "1:9a12483c63e8328a477280cd6855689af0f584eb580b66c0d113a1f5fe7791b0"
|
||||
name = "golang.org/x/time"
|
||||
packages = ["rate"]
|
||||
pruneopts = "UT"
|
||||
revision = "3af7569d3a1e776fc2a3c1cec133b43105ea9c2e"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:918a46e4a2fb83df33f668f5a6bd51b2996775d073fce1800d3ec01b0a5ddd2b"
|
||||
name = "golang.org/x/xerrors"
|
||||
packages = [
|
||||
".",
|
||||
"internal",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:49329e5d3d686037e3255b4d555f3751d275771cb3e60f6fe6cfa47abf90110f"
|
||||
name = "google.golang.org/api"
|
||||
packages = [
|
||||
"googleapi/transport",
|
||||
|
@ -224,15 +298,16 @@
|
|||
"option",
|
||||
"support/bundler",
|
||||
"transport",
|
||||
"transport/cert",
|
||||
"transport/grpc",
|
||||
"transport/http",
|
||||
"transport/http/internal/propagation"
|
||||
"transport/http/internal/propagation",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "aae1d1b89c27132abe4fa22731a2a61e7089079c"
|
||||
revision = "b77a6912936dced70abf0869ccb1d02d802567de"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:2c26b1c47556c0e5e73cdb05d8361c463737eee4baac35d38b40c728c3074a94"
|
||||
digest = "1:9a3c550c85a5a62ccc4cadd8525497b99554094a1adecc560c97bebc231ca81b"
|
||||
name = "google.golang.org/appengine"
|
||||
packages = [
|
||||
".",
|
||||
|
@ -246,15 +321,15 @@
|
|||
"internal/socket",
|
||||
"internal/urlfetch",
|
||||
"socket",
|
||||
"urlfetch"
|
||||
"urlfetch",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b2f4a3cf3c67576a2ee09e1fe62656a5086ce880"
|
||||
version = "v1.6.1"
|
||||
revision = "553959209a20f3be281c16dd5be5c740a893978f"
|
||||
version = "v1.6.6"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:cb0f37e3cdf50a27abbf33a48797b30786239d4fd69dbfbbc63cfa19d400d3ce"
|
||||
digest = "1:03c2b11b1e1f705b0f5cfc21a5e2b3e0e71456173cd52591c7478b3d1f2c9792"
|
||||
name = "google.golang.org/genproto"
|
||||
packages = [
|
||||
"googleapis/api",
|
||||
|
@ -268,20 +343,24 @@
|
|||
"googleapis/monitoring/v3",
|
||||
"googleapis/rpc/errdetails",
|
||||
"googleapis/rpc/status",
|
||||
"protobuf/field_mask"
|
||||
"googleapis/type/calendarperiod",
|
||||
"protobuf/field_mask",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3bdd9d9f5532d75d09efb230bd767d265245cfe5"
|
||||
revision = "f69a88009b70a94c67e3910bf1663f5df9fbfc6d"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:94dd3fb42315b97533bb74fe15498905734bc3a3c6e692dc7839fec749d44d26"
|
||||
digest = "1:00072b631310111e6eadd21523f02d9f5d82e88d06672b72f56aace18f3864b8"
|
||||
name = "google.golang.org/grpc"
|
||||
packages = [
|
||||
".",
|
||||
"attributes",
|
||||
"backoff",
|
||||
"balancer",
|
||||
"balancer/base",
|
||||
"balancer/grpclb",
|
||||
"balancer/grpclb/grpc_lb_v1",
|
||||
"balancer/grpclb/state",
|
||||
"balancer/roundrobin",
|
||||
"binarylog/grpc_binarylog_v1",
|
||||
"codes",
|
||||
|
@ -304,27 +383,96 @@
|
|||
"internal/backoff",
|
||||
"internal/balancerload",
|
||||
"internal/binarylog",
|
||||
"internal/buffer",
|
||||
"internal/channelz",
|
||||
"internal/credentials",
|
||||
"internal/envconfig",
|
||||
"internal/grpclog",
|
||||
"internal/grpcrand",
|
||||
"internal/grpcsync",
|
||||
"internal/grpcutil",
|
||||
"internal/resolver/dns",
|
||||
"internal/resolver/passthrough",
|
||||
"internal/serviceconfig",
|
||||
"internal/status",
|
||||
"internal/syscall",
|
||||
"internal/transport",
|
||||
"keepalive",
|
||||
"metadata",
|
||||
"naming",
|
||||
"peer",
|
||||
"resolver",
|
||||
"resolver/dns",
|
||||
"resolver/passthrough",
|
||||
"serviceconfig",
|
||||
"stats",
|
||||
"status",
|
||||
"tap"
|
||||
"tap",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "1d89a3c832915b2314551c1d2a506874d62e53f7"
|
||||
version = "v1.22.0"
|
||||
revision = "bde0263672f027525e2950992a4c7db7af572b59"
|
||||
version = "v1.31.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4a0202ad403c5a9c79ae7d6673aabb8e4ae2163654167229a49cc0155687effa"
|
||||
name = "google.golang.org/protobuf"
|
||||
packages = [
|
||||
"encoding/protojson",
|
||||
"encoding/prototext",
|
||||
"encoding/protowire",
|
||||
"internal/descfmt",
|
||||
"internal/descopts",
|
||||
"internal/detrand",
|
||||
"internal/encoding/defval",
|
||||
"internal/encoding/json",
|
||||
"internal/encoding/messageset",
|
||||
"internal/encoding/tag",
|
||||
"internal/encoding/text",
|
||||
"internal/errors",
|
||||
"internal/fieldsort",
|
||||
"internal/filedesc",
|
||||
"internal/filetype",
|
||||
"internal/flags",
|
||||
"internal/genid",
|
||||
"internal/impl",
|
||||
"internal/mapsort",
|
||||
"internal/pragma",
|
||||
"internal/set",
|
||||
"internal/strs",
|
||||
"internal/version",
|
||||
"proto",
|
||||
"reflect/protoreflect",
|
||||
"reflect/protoregistry",
|
||||
"runtime/protoiface",
|
||||
"runtime/protoimpl",
|
||||
"types/descriptorpb",
|
||||
"types/known/anypb",
|
||||
"types/known/durationpb",
|
||||
"types/known/emptypb",
|
||||
"types/known/fieldmaskpb",
|
||||
"types/known/structpb",
|
||||
"types/known/timestamppb",
|
||||
"types/known/wrapperspb",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3f7a61f89bb6813f89d981d1870ed68da0b3c3f1"
|
||||
version = "v1.25.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c4d5c7382aa68038f57265590b6025bebb3d41fdd66bc8474f0644b422130890"
|
||||
name = "gopkg.in/DataDog/dd-trace-go.v1"
|
||||
packages = [
|
||||
"contrib/google.golang.org/grpc",
|
||||
"contrib/google.golang.org/internal/grpcutil",
|
||||
"ddtrace",
|
||||
"ddtrace/ext",
|
||||
"ddtrace/internal",
|
||||
"ddtrace/tracer",
|
||||
"internal",
|
||||
"internal/globalconfig",
|
||||
"internal/log",
|
||||
"internal/version",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "6d7c52cd8ab1ea309fd54c1a2ef472fadb84429c"
|
||||
version = "v1.26.0"
|
||||
|
||||
[solve-meta]
|
||||
analyzer-name = "dep"
|
||||
|
@ -333,6 +481,8 @@
|
|||
"cloud.google.com/go/profiler",
|
||||
"contrib.go.opencensus.io/exporter/jaeger",
|
||||
"contrib.go.opencensus.io/exporter/stackdriver",
|
||||
"github.com/GoogleCloudPlatform/microservices-demo/src/frontend/genproto",
|
||||
"github.com/GoogleCloudPlatform/microservices-demo/src/frontend/money",
|
||||
"github.com/golang/protobuf/proto",
|
||||
"github.com/google/uuid",
|
||||
"github.com/gorilla/mux",
|
||||
|
@ -344,7 +494,9 @@
|
|||
"go.opencensus.io/stats/view",
|
||||
"go.opencensus.io/trace",
|
||||
"golang.org/x/net/context",
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc",
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc",
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer",
|
||||
]
|
||||
solver-name = "gps-cdcl"
|
||||
solver-version = 1
|
||||
|
|
|
@ -33,6 +33,8 @@ import (
|
|||
"go.opencensus.io/stats/view"
|
||||
"go.opencensus.io/trace"
|
||||
"google.golang.org/grpc"
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
|
||||
gt "gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -93,7 +95,11 @@ func main() {
|
|||
TimestampFormat: time.RFC3339Nano,
|
||||
}
|
||||
log.Out = os.Stdout
|
||||
|
||||
tracer.Start(
|
||||
tracer.WithEnv("prod"),
|
||||
tracer.WithService("frontend"),
|
||||
)
|
||||
defer tracer.Stop()
|
||||
if os.Getenv("DISABLE_TRACING") == "" {
|
||||
log.Info("Tracing enabled.")
|
||||
go initTracing(log)
|
||||
|
@ -263,11 +269,27 @@ func mustMapEnv(target *string, envKey string) {
|
|||
|
||||
func mustConnGRPC(ctx context.Context, conn **grpc.ClientConn, addr string) {
|
||||
var err error
|
||||
*conn, err = grpc.DialContext(ctx, addr,
|
||||
grpc.WithInsecure(),
|
||||
grpc.WithTimeout(time.Second*3),
|
||||
grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
|
||||
if err != nil {
|
||||
panic(errors.Wrapf(err, "grpc: failed to connect %s", addr))
|
||||
|
||||
if os.Getenv("DATADOG_APM_ENABLED") == "true" { //datadog traces enabled
|
||||
// Create the client interceptor using the grpc trace package.
|
||||
si := gt.StreamClientInterceptor(gt.WithServiceName(os.Getenv("DD_SERVICE")))
|
||||
ui := gt.UnaryClientInterceptor(gt.WithServiceName(os.Getenv("DD_SERVICE")))
|
||||
*conn, err = grpc.DialContext(ctx, addr,
|
||||
grpc.WithInsecure(),
|
||||
grpc.WithTimeout(time.Second*3),
|
||||
grpc.WithStatsHandler(&ocgrpc.ClientHandler{}),
|
||||
grpc.WithStreamInterceptor(si), grpc.WithUnaryInterceptor(ui))
|
||||
if err != nil {
|
||||
panic(errors.Wrapf(err, "grpc: failed to connect %s", addr))
|
||||
}
|
||||
} else {
|
||||
*conn, err = grpc.DialContext(ctx, addr,
|
||||
grpc.WithInsecure(),
|
||||
grpc.WithTimeout(time.Second*3),
|
||||
grpc.WithStatsHandler(&ocgrpc.ClientHandler{}),
|
||||
)
|
||||
if err != nil {
|
||||
panic(errors.Wrapf(err, "grpc: failed to connect %s", addr))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ RUN apt-get -qq update \
|
|||
|
||||
COPY requirements.txt .
|
||||
|
||||
RUN pip install --install-option="--prefix=/install" -r requirements.txt
|
||||
RUN pip install --prefix=/install -r requirements.txt
|
||||
|
||||
FROM base
|
||||
COPY --from=builder /install /usr/local
|
||||
|
|
251
src/productcatalogservice/Gopkg.lock
generated
251
src/productcatalogservice/Gopkg.lock
generated
|
@ -9,19 +9,19 @@
|
|||
"internal/version",
|
||||
"monitoring/apiv3",
|
||||
"profiler",
|
||||
"trace/apiv2"
|
||||
"trace/apiv2",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "457ea5c15ccf3b87db582c450e80101989da35f7"
|
||||
version = "v0.40.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:bcd1b2dd631e720b6129e801bf0766c50fb4d39455c0a255047e8fc71c31152f"
|
||||
digest = "1:5baabd5f5d47219f2bbcd130b61376e1b2e641e0826157b017dab3f88f018827"
|
||||
name = "contrib.go.opencensus.io/exporter/jaeger"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "540daef1da72376e9b3e1d52e4f90403d72f5c00"
|
||||
version = "v0.2.0"
|
||||
revision = "30c8b0fe8ad9d0eac5785893f3941b2e72c5aaaa"
|
||||
version = "v0.2.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4b96dcd8534bc6450a922bd16a76360ba3381f0d1daf40abbaec91c053fbfeb5"
|
||||
|
@ -32,7 +32,23 @@
|
|||
version = "v0.5.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:fd0a0705475581c7eb965259d417706cb49f42bde408502c3b53f139b7253d67"
|
||||
digest = "1:4f726c47cabd8cf517114ff99d0bc16d23ae4e1cfe50c94986c57d90fc66a941"
|
||||
name = "github.com/DataDog/datadog-go"
|
||||
packages = ["statsd"]
|
||||
pruneopts = "UT"
|
||||
revision = "b5f99e5a502785e43356d1f710e8ae1ee948503b"
|
||||
version = "v4.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:9370265bab17bdc207051ccedc34535484a12622a329839e580059c79236c1e3"
|
||||
name = "github.com/GoogleCloudPlatform/microservices-demo"
|
||||
packages = ["src/productcatalogservice/genproto"]
|
||||
pruneopts = "UT"
|
||||
revision = "c2095a7d4b8abd538251b705325d6a493a23e009"
|
||||
version = "v0.2.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:9d2705f9d2e7da697c24b2ab104567b155107b2aad26ca615973c0a8f02f757a"
|
||||
name = "github.com/golang/protobuf"
|
||||
packages = [
|
||||
"jsonpb",
|
||||
|
@ -44,11 +60,11 @@
|
|||
"ptypes/empty",
|
||||
"ptypes/struct",
|
||||
"ptypes/timestamp",
|
||||
"ptypes/wrappers"
|
||||
"ptypes/wrappers",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b5d812f8a3706043e23a9cd5babf2e5423744d30"
|
||||
version = "v1.3.1"
|
||||
revision = "d04d7b157bb510b1e0c10132224b616ac0e26b17"
|
||||
version = "v1.4.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:2e3c336fc7fde5c984d2841455a658a6d626450b1754a854b3b32e7a8f49a07a"
|
||||
|
@ -57,7 +73,7 @@
|
|||
"cmp",
|
||||
"cmp/internal/diff",
|
||||
"cmp/internal/function",
|
||||
"cmp/internal/value"
|
||||
"cmp/internal/value",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3af367b6b30c263d47e8895973edcca9a49cf029"
|
||||
|
@ -65,11 +81,19 @@
|
|||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:dcb1edb161b1b1cac9aedf2a17b9b2c7829e242624968875a3c1b97dd9f4ef00"
|
||||
digest = "1:7f49181edc3aa34ec3145a0050ce4af901a9c3238774f362784ce39227bc1f3a"
|
||||
name = "github.com/google/pprof"
|
||||
packages = ["profile"]
|
||||
pruneopts = "UT"
|
||||
revision = "54271f7e092ff31b10b7626fee166cbc6304e350"
|
||||
revision = "1a94d8640e99342fa76ae6296aaa921d08ac451f"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:582b704bebaa06b48c29b0cec224a6058a09c86883aaddabde889cd1a5f73e1b"
|
||||
name = "github.com/google/uuid"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "0cd6bf5da1e1c83f8b45653022c74f71af0538a4"
|
||||
version = "v1.1.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:766102087520f9d54f2acc72bd6637045900ac735b4a419b128d216f0c5c4876"
|
||||
|
@ -80,33 +104,49 @@
|
|||
version = "v2.0.5"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:31e761d97c76151dde79e9d28964a812c46efc5baee4085b86f68f0c654450de"
|
||||
digest = "1:09cb61dc19af93deae01587e2fdb1c081e0bf48f1a5ad5fa24f48750dc57dce8"
|
||||
name = "github.com/konsorten/go-windows-terminal-sequences"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e"
|
||||
version = "v1.0.2"
|
||||
revision = "edb144dfd453055e1e49a3d8b410a660b5a87613"
|
||||
version = "v1.0.3"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:04457f9f6f3ffc5fea48e71d62f2ca256637dee0a04d710288e27e05c8b41976"
|
||||
digest = "1:5e73b34a27d827212102605789de00bd411b2e434812133c83935fe9897c75e1"
|
||||
name = "github.com/philhofer/fwd"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "bb6d471dc95d4fe11e432687f8b70ff496cf3136"
|
||||
version = "v1.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:05eebdd5727fea23083fce0d98d307d70c86baed644178e81608aaa9f09ea469"
|
||||
name = "github.com/sirupsen/logrus"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "839c75faf7f98a33d445d181f3018b5c3409a45e"
|
||||
version = "v1.4.2"
|
||||
revision = "60c74ad9be0d874af0ab0daef6ab07c5c5911f0d"
|
||||
version = "v1.6.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:be83cecd5ba066751e3f789c1faecf5a3229031c7986eb486f593a6e32446ac0"
|
||||
digest = "1:6636bfca29dde8561c03e98ccddbe36240f13a01ac770d7ea07f4fd019ed6e65"
|
||||
name = "github.com/tinylib/msgp"
|
||||
packages = ["msgp"]
|
||||
pruneopts = "UT"
|
||||
revision = "4253cdaa5267687e3b7612da7ff105d4414174da"
|
||||
version = "v1.1.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:a6175cb931f5b9da33e92f6057e0de28badbe6dfdc32f4bf378ffd9a2c461d03"
|
||||
name = "github.com/uber/jaeger-client-go"
|
||||
packages = [
|
||||
"thrift",
|
||||
"thrift-gen/agent",
|
||||
"thrift-gen/jaeger",
|
||||
"thrift-gen/zipkincore"
|
||||
"thrift-gen/zipkincore",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "f2e1f58485aacf2975cdde9c9f5396e6d98c35ba"
|
||||
version = "v2.21.1"
|
||||
revision = "121ee6fb26fd9617fc30d0d95569a39c30ca3b76"
|
||||
version = "v2.25.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:1bb914cfb78f68f488a91cd7872d3d06a5f83c5bbacf0296dbef44e120b00a91"
|
||||
|
@ -125,7 +165,7 @@
|
|||
"trace",
|
||||
"trace/internal",
|
||||
"trace/propagation",
|
||||
"trace/tracestate"
|
||||
"trace/tracestate",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b11f239c032624b045c4c2bfd3d1287b4012ce89"
|
||||
|
@ -133,7 +173,7 @@
|
|||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:2f357867bf425774d35beca5be718402a4488b8b23b1563ce8c5bb91d09285a7"
|
||||
digest = "1:6a803f0f3ecbe7e804185a165b3e36eeb0a62f806e7fbe61e842966127991a64"
|
||||
name = "golang.org/x/net"
|
||||
packages = [
|
||||
"context",
|
||||
|
@ -143,43 +183,48 @@
|
|||
"http2/hpack",
|
||||
"idna",
|
||||
"internal/timeseries",
|
||||
"trace"
|
||||
"trace",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "da137c7871d730100384dbcf36e6f8fa493aef5b"
|
||||
revision = "c89045814202410a2d67ec20ecf177ec77ceae7f"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:31e33f76456ccf54819ab4a646cf01271d1a99d7712ab84bf1a9e7b61cd2031b"
|
||||
digest = "1:79edde3241bb55de9f4143d5083bfcff722e550c3cb8db94084eab50d0e440b5"
|
||||
name = "golang.org/x/oauth2"
|
||||
packages = [
|
||||
".",
|
||||
"google",
|
||||
"internal",
|
||||
"jws",
|
||||
"jwt"
|
||||
"jwt",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33"
|
||||
revision = "bf48bf16ab8d622ce64ec6ce98d2c98f916b6303"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:382bb5a7fb4034db3b6a2d19e5a4a6bcf52f4750530603c01ca18a172fa3089b"
|
||||
digest = "1:4692f916cb72b2c295f04841036d85a3f13e96d1cc9e8e4c2c30edebac518053"
|
||||
name = "golang.org/x/sync"
|
||||
packages = ["semaphore"]
|
||||
pruneopts = "UT"
|
||||
revision = "112230192c580c3556b8cee6403af37a4fc5f28c"
|
||||
revision = "6e8e738ad208923de99951fe0b48239bfd864f28"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:730ba27cd66db3b98ec8f51a6f20d45ec277d490cca36b1f54e31d3fcaf4840e"
|
||||
digest = "1:288524d218ffbd2adb8cf423f2afb863ccce0a000446a2b0d467931d1e517ba0"
|
||||
name = "golang.org/x/sys"
|
||||
packages = ["unix"]
|
||||
packages = [
|
||||
"internal/unsafeheader",
|
||||
"unix",
|
||||
"windows",
|
||||
"windows/registry",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "04f50cda93cbb67f2afa353c52f342100e80e625"
|
||||
revision = "c12d262b63d83031f2db2f528267f9a4f58e2775"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405"
|
||||
digest = "1:fa940333c48808b0d86ef21f412ffcfd0e5084a82f13905c028a404803b1908f"
|
||||
name = "golang.org/x/text"
|
||||
packages = [
|
||||
"collate",
|
||||
|
@ -197,15 +242,34 @@
|
|||
"unicode/bidi",
|
||||
"unicode/cldr",
|
||||
"unicode/norm",
|
||||
"unicode/rangetable"
|
||||
"unicode/rangetable",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "342b2e1fbaa52c93f31447ad2c6abc048c63e475"
|
||||
version = "v0.3.2"
|
||||
revision = "23ae387dee1f90d29a23c0e87ee0b46038fbed0e"
|
||||
version = "v0.3.3"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:bc06b12d8436550fccc0212037e9281a7e4d53db25c2349eb3cc6c3457e0406b"
|
||||
digest = "1:9a12483c63e8328a477280cd6855689af0f584eb580b66c0d113a1f5fe7791b0"
|
||||
name = "golang.org/x/time"
|
||||
packages = ["rate"]
|
||||
pruneopts = "UT"
|
||||
revision = "3af7569d3a1e776fc2a3c1cec133b43105ea9c2e"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:918a46e4a2fb83df33f668f5a6bd51b2996775d073fce1800d3ec01b0a5ddd2b"
|
||||
name = "golang.org/x/xerrors"
|
||||
packages = [
|
||||
".",
|
||||
"internal",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:49329e5d3d686037e3255b4d555f3751d275771cb3e60f6fe6cfa47abf90110f"
|
||||
name = "google.golang.org/api"
|
||||
packages = [
|
||||
"googleapi/transport",
|
||||
|
@ -214,15 +278,16 @@
|
|||
"option",
|
||||
"support/bundler",
|
||||
"transport",
|
||||
"transport/cert",
|
||||
"transport/grpc",
|
||||
"transport/http",
|
||||
"transport/http/internal/propagation"
|
||||
"transport/http/internal/propagation",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "aae1d1b89c27132abe4fa22731a2a61e7089079c"
|
||||
revision = "b77a6912936dced70abf0869ccb1d02d802567de"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:2c26b1c47556c0e5e73cdb05d8361c463737eee4baac35d38b40c728c3074a94"
|
||||
digest = "1:9a3c550c85a5a62ccc4cadd8525497b99554094a1adecc560c97bebc231ca81b"
|
||||
name = "google.golang.org/appengine"
|
||||
packages = [
|
||||
".",
|
||||
|
@ -236,15 +301,15 @@
|
|||
"internal/socket",
|
||||
"internal/urlfetch",
|
||||
"socket",
|
||||
"urlfetch"
|
||||
"urlfetch",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b2f4a3cf3c67576a2ee09e1fe62656a5086ce880"
|
||||
version = "v1.6.1"
|
||||
revision = "553959209a20f3be281c16dd5be5c740a893978f"
|
||||
version = "v1.6.6"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:cb0f37e3cdf50a27abbf33a48797b30786239d4fd69dbfbbc63cfa19d400d3ce"
|
||||
digest = "1:03c2b11b1e1f705b0f5cfc21a5e2b3e0e71456173cd52591c7478b3d1f2c9792"
|
||||
name = "google.golang.org/genproto"
|
||||
packages = [
|
||||
"googleapis/api",
|
||||
|
@ -258,20 +323,24 @@
|
|||
"googleapis/monitoring/v3",
|
||||
"googleapis/rpc/errdetails",
|
||||
"googleapis/rpc/status",
|
||||
"protobuf/field_mask"
|
||||
"googleapis/type/calendarperiod",
|
||||
"protobuf/field_mask",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3bdd9d9f5532d75d09efb230bd767d265245cfe5"
|
||||
revision = "f69a88009b70a94c67e3910bf1663f5df9fbfc6d"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:f379776e36e55e5b5cbf7187ea58280812785071de53046230006e47894650b6"
|
||||
digest = "1:92f84847381cc2ee44933fa3cfd6d6f669596db21a22e122441ea6b8358afe3d"
|
||||
name = "google.golang.org/grpc"
|
||||
packages = [
|
||||
".",
|
||||
"attributes",
|
||||
"backoff",
|
||||
"balancer",
|
||||
"balancer/base",
|
||||
"balancer/grpclb",
|
||||
"balancer/grpclb/grpc_lb_v1",
|
||||
"balancer/grpclb/state",
|
||||
"balancer/roundrobin",
|
||||
"binarylog/grpc_binarylog_v1",
|
||||
"codes",
|
||||
|
@ -295,27 +364,96 @@
|
|||
"internal/backoff",
|
||||
"internal/balancerload",
|
||||
"internal/binarylog",
|
||||
"internal/buffer",
|
||||
"internal/channelz",
|
||||
"internal/credentials",
|
||||
"internal/envconfig",
|
||||
"internal/grpclog",
|
||||
"internal/grpcrand",
|
||||
"internal/grpcsync",
|
||||
"internal/grpcutil",
|
||||
"internal/resolver/dns",
|
||||
"internal/resolver/passthrough",
|
||||
"internal/serviceconfig",
|
||||
"internal/status",
|
||||
"internal/syscall",
|
||||
"internal/transport",
|
||||
"keepalive",
|
||||
"metadata",
|
||||
"naming",
|
||||
"peer",
|
||||
"resolver",
|
||||
"resolver/dns",
|
||||
"resolver/passthrough",
|
||||
"serviceconfig",
|
||||
"stats",
|
||||
"status",
|
||||
"tap"
|
||||
"tap",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "1d89a3c832915b2314551c1d2a506874d62e53f7"
|
||||
version = "v1.22.0"
|
||||
revision = "bde0263672f027525e2950992a4c7db7af572b59"
|
||||
version = "v1.31.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4a0202ad403c5a9c79ae7d6673aabb8e4ae2163654167229a49cc0155687effa"
|
||||
name = "google.golang.org/protobuf"
|
||||
packages = [
|
||||
"encoding/protojson",
|
||||
"encoding/prototext",
|
||||
"encoding/protowire",
|
||||
"internal/descfmt",
|
||||
"internal/descopts",
|
||||
"internal/detrand",
|
||||
"internal/encoding/defval",
|
||||
"internal/encoding/json",
|
||||
"internal/encoding/messageset",
|
||||
"internal/encoding/tag",
|
||||
"internal/encoding/text",
|
||||
"internal/errors",
|
||||
"internal/fieldsort",
|
||||
"internal/filedesc",
|
||||
"internal/filetype",
|
||||
"internal/flags",
|
||||
"internal/genid",
|
||||
"internal/impl",
|
||||
"internal/mapsort",
|
||||
"internal/pragma",
|
||||
"internal/set",
|
||||
"internal/strs",
|
||||
"internal/version",
|
||||
"proto",
|
||||
"reflect/protoreflect",
|
||||
"reflect/protoregistry",
|
||||
"runtime/protoiface",
|
||||
"runtime/protoimpl",
|
||||
"types/descriptorpb",
|
||||
"types/known/anypb",
|
||||
"types/known/durationpb",
|
||||
"types/known/emptypb",
|
||||
"types/known/fieldmaskpb",
|
||||
"types/known/structpb",
|
||||
"types/known/timestamppb",
|
||||
"types/known/wrapperspb",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3f7a61f89bb6813f89d981d1870ed68da0b3c3f1"
|
||||
version = "v1.25.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c4d5c7382aa68038f57265590b6025bebb3d41fdd66bc8474f0644b422130890"
|
||||
name = "gopkg.in/DataDog/dd-trace-go.v1"
|
||||
packages = [
|
||||
"contrib/google.golang.org/grpc",
|
||||
"contrib/google.golang.org/internal/grpcutil",
|
||||
"ddtrace",
|
||||
"ddtrace/ext",
|
||||
"ddtrace/internal",
|
||||
"ddtrace/tracer",
|
||||
"internal",
|
||||
"internal/globalconfig",
|
||||
"internal/log",
|
||||
"internal/version",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "6d7c52cd8ab1ea309fd54c1a2ef472fadb84429c"
|
||||
version = "v1.26.0"
|
||||
|
||||
[solve-meta]
|
||||
analyzer-name = "dep"
|
||||
|
@ -324,6 +462,7 @@
|
|||
"cloud.google.com/go/profiler",
|
||||
"contrib.go.opencensus.io/exporter/jaeger",
|
||||
"contrib.go.opencensus.io/exporter/stackdriver",
|
||||
"github.com/GoogleCloudPlatform/microservices-demo/src/productcatalogservice/genproto",
|
||||
"github.com/golang/protobuf/jsonpb",
|
||||
"github.com/golang/protobuf/proto",
|
||||
"github.com/google/go-cmp/cmp",
|
||||
|
@ -335,7 +474,9 @@
|
|||
"google.golang.org/grpc",
|
||||
"google.golang.org/grpc/codes",
|
||||
"google.golang.org/grpc/health/grpc_health_v1",
|
||||
"google.golang.org/grpc/status"
|
||||
"google.golang.org/grpc/status",
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc",
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer",
|
||||
]
|
||||
solver-name = "gps-cdcl"
|
||||
solver-version = 1
|
||||
|
|
|
@ -28,6 +28,8 @@ import (
|
|||
"syscall"
|
||||
"time"
|
||||
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
|
||||
gt "gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc"
|
||||
pb "github.com/GoogleCloudPlatform/microservices-demo/src/productcatalogservice/genproto"
|
||||
healthpb "google.golang.org/grpc/health/grpc_health_v1"
|
||||
|
||||
|
@ -75,6 +77,11 @@ func init() {
|
|||
}
|
||||
|
||||
func main() {
|
||||
tracer.Start(
|
||||
tracer.WithEnv("prod"),
|
||||
tracer.WithService("productcatalogservice"),
|
||||
)
|
||||
defer tracer.Stop()
|
||||
if os.Getenv("DISABLE_TRACING") == "" {
|
||||
log.Info("Tracing enabled.")
|
||||
go initTracing()
|
||||
|
@ -136,9 +143,18 @@ func run(port string) string {
|
|||
if os.Getenv("DISABLE_STATS") == "" {
|
||||
log.Info("Stats enabled.")
|
||||
srv = grpc.NewServer(grpc.StatsHandler(&ocgrpc.ServerHandler{}))
|
||||
} else if os.Getenv("DATADOG_APM_ENABLED") == "true" {
|
||||
log.Info("Datadog trace enabled.")
|
||||
// Create the server interceptor using the grpc trace package.
|
||||
grpc_option := gt.WithServiceName(os.Getenv("DD_SERVICE"))
|
||||
unary_server_trace := gt.UnaryServerInterceptor(grpc_option)
|
||||
stream_server_trace := gt.StreamServerInterceptor(grpc_option)
|
||||
unary_trace := grpc.UnaryInterceptor(unary_server_trace)
|
||||
stream_trace := grpc.StreamInterceptor(stream_server_trace)
|
||||
srv = grpc.NewServer(unary_trace, stream_trace)
|
||||
} else {
|
||||
log.Info("Stats disabled.")
|
||||
srv = grpc.NewServer()
|
||||
srv = grpc.NewServer()
|
||||
}
|
||||
|
||||
svc := &productCatalog{}
|
||||
|
|
|
@ -36,4 +36,4 @@ COPY . .
|
|||
ENV PORT "8080"
|
||||
EXPOSE 8080
|
||||
|
||||
ENTRYPOINT ["python", "/recommendationservice/recommendation_server.py"]
|
||||
ENTRYPOINT ["ddtrace-run", "python", "/recommendationservice/recommendation_server.py"]
|
||||
|
|
|
@ -38,6 +38,9 @@ from grpc_health.v1 import health_pb2_grpc
|
|||
from logger import getJSONLogger
|
||||
logger = getJSONLogger('recommendationservice-server')
|
||||
|
||||
from ddtrace import patch_all
|
||||
patch_all()
|
||||
|
||||
def initStackdriverProfiling():
|
||||
project_id = None
|
||||
try:
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
google-api-core==1.6.0
|
||||
google-python-cloud-debugger==2.9
|
||||
google-python-cloud-debugger==2.15
|
||||
grpcio-health-checking==1.13.0
|
||||
grpcio==1.16.1
|
||||
opencensus[stackdriver]==0.1.10
|
||||
python-json-logger==0.1.9
|
||||
google-cloud-profiler==1.0.8
|
||||
ddtrace
|
||||
|
|
|
@ -34,3 +34,4 @@ rsa==4.0 # via google-auth
|
|||
six==1.12.0 # via google-api-core, google-api-python-client, google-auth, google-python-cloud-debugger, grpcio, protobuf
|
||||
uritemplate==3.0.0 # via google-api-python-client
|
||||
urllib3==1.24.2 # via requests
|
||||
ddtrace
|
||||
|
|
272
src/shippingservice/Gopkg.lock
generated
272
src/shippingservice/Gopkg.lock
generated
|
@ -9,19 +9,19 @@
|
|||
"internal/version",
|
||||
"monitoring/apiv3",
|
||||
"profiler",
|
||||
"trace/apiv2"
|
||||
"trace/apiv2",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "457ea5c15ccf3b87db582c450e80101989da35f7"
|
||||
version = "v0.40.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:bcd1b2dd631e720b6129e801bf0766c50fb4d39455c0a255047e8fc71c31152f"
|
||||
digest = "1:5baabd5f5d47219f2bbcd130b61376e1b2e641e0826157b017dab3f88f018827"
|
||||
name = "contrib.go.opencensus.io/exporter/jaeger"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "540daef1da72376e9b3e1d52e4f90403d72f5c00"
|
||||
version = "v0.2.0"
|
||||
revision = "30c8b0fe8ad9d0eac5785893f3941b2e72c5aaaa"
|
||||
version = "v0.2.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4b96dcd8534bc6450a922bd16a76360ba3381f0d1daf40abbaec91c053fbfeb5"
|
||||
|
@ -32,18 +32,26 @@
|
|||
version = "v0.5.0"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:a85b0dc359de4812d383ee6670f0dae595cfcb8b13ff6b872bdb013a18c37b07"
|
||||
name = "git.apache.org/thrift.git"
|
||||
packages = ["lib/go/thrift"]
|
||||
digest = "1:4f726c47cabd8cf517114ff99d0bc16d23ae4e1cfe50c94986c57d90fc66a941"
|
||||
name = "github.com/DataDog/datadog-go"
|
||||
packages = ["statsd"]
|
||||
pruneopts = "UT"
|
||||
revision = "286eee16b147a302ddc7b10740c5e5401ebbec17"
|
||||
source = "github.com/apache/thrift"
|
||||
revision = "b5f99e5a502785e43356d1f710e8ae1ee948503b"
|
||||
version = "v4.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:1d3ad0f6a57c08e2168089a64c34313930571fcbe5359d71c608a97ce504f7ca"
|
||||
digest = "1:f47f56c0975afe777b239cc03631011db2667a51e59b177bf318748724d4455b"
|
||||
name = "github.com/GoogleCloudPlatform/microservices-demo"
|
||||
packages = ["src/shippingservice/genproto"]
|
||||
pruneopts = "UT"
|
||||
revision = "c2095a7d4b8abd538251b705325d6a493a23e009"
|
||||
version = "v0.2.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:9d2705f9d2e7da697c24b2ab104567b155107b2aad26ca615973c0a8f02f757a"
|
||||
name = "github.com/golang/protobuf"
|
||||
packages = [
|
||||
"jsonpb",
|
||||
"proto",
|
||||
"protoc-gen-go/descriptor",
|
||||
"ptypes",
|
||||
|
@ -52,19 +60,41 @@
|
|||
"ptypes/empty",
|
||||
"ptypes/struct",
|
||||
"ptypes/timestamp",
|
||||
"ptypes/wrappers"
|
||||
"ptypes/wrappers",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b5d812f8a3706043e23a9cd5babf2e5423744d30"
|
||||
version = "v1.3.1"
|
||||
revision = "d04d7b157bb510b1e0c10132224b616ac0e26b17"
|
||||
version = "v1.4.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:85af59d73a44bd58f524cf05dee34a5021afe1fa4a852079b535c38ae2d1a2e8"
|
||||
name = "github.com/google/go-cmp"
|
||||
packages = [
|
||||
"cmp",
|
||||
"cmp/internal/diff",
|
||||
"cmp/internal/flags",
|
||||
"cmp/internal/function",
|
||||
"cmp/internal/value",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "9680bfaf28748393e28e00238d94070fb9972fd8"
|
||||
version = "v0.5.1"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:dcb1edb161b1b1cac9aedf2a17b9b2c7829e242624968875a3c1b97dd9f4ef00"
|
||||
digest = "1:7f49181edc3aa34ec3145a0050ce4af901a9c3238774f362784ce39227bc1f3a"
|
||||
name = "github.com/google/pprof"
|
||||
packages = ["profile"]
|
||||
pruneopts = "UT"
|
||||
revision = "54271f7e092ff31b10b7626fee166cbc6304e350"
|
||||
revision = "1a94d8640e99342fa76ae6296aaa921d08ac451f"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:582b704bebaa06b48c29b0cec224a6058a09c86883aaddabde889cd1a5f73e1b"
|
||||
name = "github.com/google/uuid"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "0cd6bf5da1e1c83f8b45653022c74f71af0538a4"
|
||||
version = "v1.1.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:766102087520f9d54f2acc72bd6637045900ac735b4a419b128d216f0c5c4876"
|
||||
|
@ -75,41 +105,55 @@
|
|||
version = "v2.0.5"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:31e761d97c76151dde79e9d28964a812c46efc5baee4085b86f68f0c654450de"
|
||||
digest = "1:09cb61dc19af93deae01587e2fdb1c081e0bf48f1a5ad5fa24f48750dc57dce8"
|
||||
name = "github.com/konsorten/go-windows-terminal-sequences"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e"
|
||||
version = "v1.0.2"
|
||||
revision = "edb144dfd453055e1e49a3d8b410a660b5a87613"
|
||||
version = "v1.0.3"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:04457f9f6f3ffc5fea48e71d62f2ca256637dee0a04d710288e27e05c8b41976"
|
||||
digest = "1:5e73b34a27d827212102605789de00bd411b2e434812133c83935fe9897c75e1"
|
||||
name = "github.com/philhofer/fwd"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "bb6d471dc95d4fe11e432687f8b70ff496cf3136"
|
||||
version = "v1.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:05eebdd5727fea23083fce0d98d307d70c86baed644178e81608aaa9f09ea469"
|
||||
name = "github.com/sirupsen/logrus"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "839c75faf7f98a33d445d181f3018b5c3409a45e"
|
||||
version = "v1.4.2"
|
||||
revision = "60c74ad9be0d874af0ab0daef6ab07c5c5911f0d"
|
||||
version = "v1.6.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:be83cecd5ba066751e3f789c1faecf5a3229031c7986eb486f593a6e32446ac0"
|
||||
digest = "1:6636bfca29dde8561c03e98ccddbe36240f13a01ac770d7ea07f4fd019ed6e65"
|
||||
name = "github.com/tinylib/msgp"
|
||||
packages = ["msgp"]
|
||||
pruneopts = "UT"
|
||||
revision = "4253cdaa5267687e3b7612da7ff105d4414174da"
|
||||
version = "v1.1.2"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:a6175cb931f5b9da33e92f6057e0de28badbe6dfdc32f4bf378ffd9a2c461d03"
|
||||
name = "github.com/uber/jaeger-client-go"
|
||||
packages = [
|
||||
"thrift",
|
||||
"thrift-gen/agent",
|
||||
"thrift-gen/jaeger",
|
||||
"thrift-gen/zipkincore"
|
||||
"thrift-gen/zipkincore",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "f2e1f58485aacf2975cdde9c9f5396e6d98c35ba"
|
||||
version = "v2.21.1"
|
||||
revision = "121ee6fb26fd9617fc30d0d95569a39c30ca3b76"
|
||||
version = "v2.25.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:a5154dfd6b37bef5a3eab759e13296348e639dc8c7604f538368167782b08ccd"
|
||||
digest = "1:1bb914cfb78f68f488a91cd7872d3d06a5f83c5bbacf0296dbef44e120b00a91"
|
||||
name = "go.opencensus.io"
|
||||
packages = [
|
||||
".",
|
||||
"exporter/jaeger",
|
||||
"exporter/jaeger/internal/gen-go/jaeger",
|
||||
"internal",
|
||||
"internal/tagencoding",
|
||||
"plugin/ocgrpc",
|
||||
|
@ -122,7 +166,7 @@
|
|||
"trace",
|
||||
"trace/internal",
|
||||
"trace/propagation",
|
||||
"trace/tracestate"
|
||||
"trace/tracestate",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b11f239c032624b045c4c2bfd3d1287b4012ce89"
|
||||
|
@ -130,7 +174,7 @@
|
|||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:2f357867bf425774d35beca5be718402a4488b8b23b1563ce8c5bb91d09285a7"
|
||||
digest = "1:6a803f0f3ecbe7e804185a165b3e36eeb0a62f806e7fbe61e842966127991a64"
|
||||
name = "golang.org/x/net"
|
||||
packages = [
|
||||
"context",
|
||||
|
@ -140,43 +184,48 @@
|
|||
"http2/hpack",
|
||||
"idna",
|
||||
"internal/timeseries",
|
||||
"trace"
|
||||
"trace",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "da137c7871d730100384dbcf36e6f8fa493aef5b"
|
||||
revision = "c89045814202410a2d67ec20ecf177ec77ceae7f"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:31e33f76456ccf54819ab4a646cf01271d1a99d7712ab84bf1a9e7b61cd2031b"
|
||||
digest = "1:79edde3241bb55de9f4143d5083bfcff722e550c3cb8db94084eab50d0e440b5"
|
||||
name = "golang.org/x/oauth2"
|
||||
packages = [
|
||||
".",
|
||||
"google",
|
||||
"internal",
|
||||
"jws",
|
||||
"jwt"
|
||||
"jwt",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33"
|
||||
revision = "bf48bf16ab8d622ce64ec6ce98d2c98f916b6303"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:382bb5a7fb4034db3b6a2d19e5a4a6bcf52f4750530603c01ca18a172fa3089b"
|
||||
digest = "1:4692f916cb72b2c295f04841036d85a3f13e96d1cc9e8e4c2c30edebac518053"
|
||||
name = "golang.org/x/sync"
|
||||
packages = ["semaphore"]
|
||||
pruneopts = "UT"
|
||||
revision = "112230192c580c3556b8cee6403af37a4fc5f28c"
|
||||
revision = "6e8e738ad208923de99951fe0b48239bfd864f28"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:730ba27cd66db3b98ec8f51a6f20d45ec277d490cca36b1f54e31d3fcaf4840e"
|
||||
digest = "1:c31c46ce6a973e860a444a8a64bd56e88fa83fbbf8791f4aab48d2da878de732"
|
||||
name = "golang.org/x/sys"
|
||||
packages = ["unix"]
|
||||
packages = [
|
||||
"internal/unsafeheader",
|
||||
"unix",
|
||||
"windows",
|
||||
"windows/registry",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "04f50cda93cbb67f2afa353c52f342100e80e625"
|
||||
revision = "fda516888d292084949c284313e463073fc40876"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405"
|
||||
digest = "1:fa940333c48808b0d86ef21f412ffcfd0e5084a82f13905c028a404803b1908f"
|
||||
name = "golang.org/x/text"
|
||||
packages = [
|
||||
"collate",
|
||||
|
@ -194,15 +243,34 @@
|
|||
"unicode/bidi",
|
||||
"unicode/cldr",
|
||||
"unicode/norm",
|
||||
"unicode/rangetable"
|
||||
"unicode/rangetable",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "342b2e1fbaa52c93f31447ad2c6abc048c63e475"
|
||||
version = "v0.3.2"
|
||||
revision = "23ae387dee1f90d29a23c0e87ee0b46038fbed0e"
|
||||
version = "v0.3.3"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:bc06b12d8436550fccc0212037e9281a7e4d53db25c2349eb3cc6c3457e0406b"
|
||||
digest = "1:9a12483c63e8328a477280cd6855689af0f584eb580b66c0d113a1f5fe7791b0"
|
||||
name = "golang.org/x/time"
|
||||
packages = ["rate"]
|
||||
pruneopts = "UT"
|
||||
revision = "3af7569d3a1e776fc2a3c1cec133b43105ea9c2e"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:918a46e4a2fb83df33f668f5a6bd51b2996775d073fce1800d3ec01b0a5ddd2b"
|
||||
name = "golang.org/x/xerrors"
|
||||
packages = [
|
||||
".",
|
||||
"internal",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:915974b5a6bab2524bb29da168f660beef91eb5cdb314d4e23392f61b9d3956f"
|
||||
name = "google.golang.org/api"
|
||||
packages = [
|
||||
"googleapi/transport",
|
||||
|
@ -211,15 +279,16 @@
|
|||
"option",
|
||||
"support/bundler",
|
||||
"transport",
|
||||
"transport/cert",
|
||||
"transport/grpc",
|
||||
"transport/http",
|
||||
"transport/http/internal/propagation"
|
||||
"transport/http/internal/propagation",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "aae1d1b89c27132abe4fa22731a2a61e7089079c"
|
||||
revision = "2560edae6c50e363c98be06e7c2ce2dcb393aa63"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:2c26b1c47556c0e5e73cdb05d8361c463737eee4baac35d38b40c728c3074a94"
|
||||
digest = "1:9a3c550c85a5a62ccc4cadd8525497b99554094a1adecc560c97bebc231ca81b"
|
||||
name = "google.golang.org/appengine"
|
||||
packages = [
|
||||
".",
|
||||
|
@ -233,15 +302,15 @@
|
|||
"internal/socket",
|
||||
"internal/urlfetch",
|
||||
"socket",
|
||||
"urlfetch"
|
||||
"urlfetch",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b2f4a3cf3c67576a2ee09e1fe62656a5086ce880"
|
||||
version = "v1.6.1"
|
||||
revision = "553959209a20f3be281c16dd5be5c740a893978f"
|
||||
version = "v1.6.6"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:cb0f37e3cdf50a27abbf33a48797b30786239d4fd69dbfbbc63cfa19d400d3ce"
|
||||
digest = "1:03c2b11b1e1f705b0f5cfc21a5e2b3e0e71456173cd52591c7478b3d1f2c9792"
|
||||
name = "google.golang.org/genproto"
|
||||
packages = [
|
||||
"googleapis/api",
|
||||
|
@ -255,20 +324,24 @@
|
|||
"googleapis/monitoring/v3",
|
||||
"googleapis/rpc/errdetails",
|
||||
"googleapis/rpc/status",
|
||||
"protobuf/field_mask"
|
||||
"googleapis/type/calendarperiod",
|
||||
"protobuf/field_mask",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3bdd9d9f5532d75d09efb230bd767d265245cfe5"
|
||||
revision = "f69a88009b70a94c67e3910bf1663f5df9fbfc6d"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c68a5ee8060d988d82cd42bf0a53f5ec24d40ea20d341346b26dbf74b1d95a1c"
|
||||
digest = "1:20f515b65fd0981c979f7f329677add92a6fc0f36c87d2ef07f664a43636a2ac"
|
||||
name = "google.golang.org/grpc"
|
||||
packages = [
|
||||
".",
|
||||
"attributes",
|
||||
"backoff",
|
||||
"balancer",
|
||||
"balancer/base",
|
||||
"balancer/grpclb",
|
||||
"balancer/grpclb/grpc_lb_v1",
|
||||
"balancer/grpclb/state",
|
||||
"balancer/roundrobin",
|
||||
"binarylog/grpc_binarylog_v1",
|
||||
"codes",
|
||||
|
@ -292,29 +365,98 @@
|
|||
"internal/backoff",
|
||||
"internal/balancerload",
|
||||
"internal/binarylog",
|
||||
"internal/buffer",
|
||||
"internal/channelz",
|
||||
"internal/credentials",
|
||||
"internal/envconfig",
|
||||
"internal/grpclog",
|
||||
"internal/grpcrand",
|
||||
"internal/grpcsync",
|
||||
"internal/grpcutil",
|
||||
"internal/resolver/dns",
|
||||
"internal/resolver/passthrough",
|
||||
"internal/serviceconfig",
|
||||
"internal/status",
|
||||
"internal/syscall",
|
||||
"internal/transport",
|
||||
"keepalive",
|
||||
"metadata",
|
||||
"naming",
|
||||
"peer",
|
||||
"reflection",
|
||||
"reflection/grpc_reflection_v1alpha",
|
||||
"resolver",
|
||||
"resolver/dns",
|
||||
"resolver/passthrough",
|
||||
"serviceconfig",
|
||||
"stats",
|
||||
"status",
|
||||
"tap"
|
||||
"tap",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "1d89a3c832915b2314551c1d2a506874d62e53f7"
|
||||
version = "v1.22.0"
|
||||
revision = "bde0263672f027525e2950992a4c7db7af572b59"
|
||||
version = "v1.31.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4a0202ad403c5a9c79ae7d6673aabb8e4ae2163654167229a49cc0155687effa"
|
||||
name = "google.golang.org/protobuf"
|
||||
packages = [
|
||||
"encoding/protojson",
|
||||
"encoding/prototext",
|
||||
"encoding/protowire",
|
||||
"internal/descfmt",
|
||||
"internal/descopts",
|
||||
"internal/detrand",
|
||||
"internal/encoding/defval",
|
||||
"internal/encoding/json",
|
||||
"internal/encoding/messageset",
|
||||
"internal/encoding/tag",
|
||||
"internal/encoding/text",
|
||||
"internal/errors",
|
||||
"internal/fieldsort",
|
||||
"internal/filedesc",
|
||||
"internal/filetype",
|
||||
"internal/flags",
|
||||
"internal/genid",
|
||||
"internal/impl",
|
||||
"internal/mapsort",
|
||||
"internal/pragma",
|
||||
"internal/set",
|
||||
"internal/strs",
|
||||
"internal/version",
|
||||
"proto",
|
||||
"reflect/protoreflect",
|
||||
"reflect/protoregistry",
|
||||
"runtime/protoiface",
|
||||
"runtime/protoimpl",
|
||||
"types/descriptorpb",
|
||||
"types/known/anypb",
|
||||
"types/known/durationpb",
|
||||
"types/known/emptypb",
|
||||
"types/known/fieldmaskpb",
|
||||
"types/known/structpb",
|
||||
"types/known/timestamppb",
|
||||
"types/known/wrapperspb",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3f7a61f89bb6813f89d981d1870ed68da0b3c3f1"
|
||||
version = "v1.25.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c4d5c7382aa68038f57265590b6025bebb3d41fdd66bc8474f0644b422130890"
|
||||
name = "gopkg.in/DataDog/dd-trace-go.v1"
|
||||
packages = [
|
||||
"contrib/google.golang.org/grpc",
|
||||
"contrib/google.golang.org/internal/grpcutil",
|
||||
"ddtrace",
|
||||
"ddtrace/ext",
|
||||
"ddtrace/internal",
|
||||
"ddtrace/tracer",
|
||||
"internal",
|
||||
"internal/globalconfig",
|
||||
"internal/log",
|
||||
"internal/version",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "6d7c52cd8ab1ea309fd54c1a2ef472fadb84429c"
|
||||
version = "v1.26.0"
|
||||
|
||||
[solve-meta]
|
||||
analyzer-name = "dep"
|
||||
|
@ -323,9 +465,9 @@
|
|||
"cloud.google.com/go/profiler",
|
||||
"contrib.go.opencensus.io/exporter/jaeger",
|
||||
"contrib.go.opencensus.io/exporter/stackdriver",
|
||||
"github.com/GoogleCloudPlatform/microservices-demo/src/shippingservice/genproto",
|
||||
"github.com/golang/protobuf/proto",
|
||||
"github.com/sirupsen/logrus",
|
||||
"go.opencensus.io/exporter/jaeger",
|
||||
"go.opencensus.io/plugin/ocgrpc",
|
||||
"go.opencensus.io/stats/view",
|
||||
"go.opencensus.io/trace",
|
||||
|
@ -334,7 +476,9 @@
|
|||
"google.golang.org/grpc/codes",
|
||||
"google.golang.org/grpc/health/grpc_health_v1",
|
||||
"google.golang.org/grpc/reflection",
|
||||
"google.golang.org/grpc/status"
|
||||
"google.golang.org/grpc/status",
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc",
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer",
|
||||
]
|
||||
solver-name = "gps-cdcl"
|
||||
solver-version = 1
|
||||
|
|
|
@ -32,7 +32,8 @@ import (
|
|||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/reflection"
|
||||
"google.golang.org/grpc/status"
|
||||
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
|
||||
gt "gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc"
|
||||
pb "github.com/GoogleCloudPlatform/microservices-demo/src/shippingservice/genproto"
|
||||
healthpb "google.golang.org/grpc/health/grpc_health_v1"
|
||||
)
|
||||
|
@ -58,6 +59,13 @@ func init() {
|
|||
}
|
||||
|
||||
func main() {
|
||||
|
||||
tracer.Start(
|
||||
tracer.WithEnv("prod"),
|
||||
tracer.WithService("shippingservice"),
|
||||
)
|
||||
defer tracer.Stop()
|
||||
|
||||
if os.Getenv("DISABLE_TRACING") == "" {
|
||||
log.Info("Tracing enabled.")
|
||||
go initTracing()
|
||||
|
@ -84,13 +92,24 @@ func main() {
|
|||
}
|
||||
|
||||
var srv *grpc.Server
|
||||
// Default stats/traces enabled
|
||||
if os.Getenv("DISABLE_STATS") == "" {
|
||||
log.Info("Stats enabled.")
|
||||
srv = grpc.NewServer(grpc.StatsHandler(&ocgrpc.ServerHandler{}))
|
||||
} else if os.Getenv("DATADOG_APM_ENABLED") == "true" { //datadog traces enabled
|
||||
// Create the server interceptor using the grpc trace package.
|
||||
log.Info("Datadog tracing enabled.")
|
||||
grpc_option := gt.WithServiceName(os.Getenv("DD_SERVICE"))
|
||||
unary_server_trace := gt.UnaryServerInterceptor(grpc_option)
|
||||
stream_server_trace := gt.StreamServerInterceptor(grpc_option)
|
||||
unary_trace := grpc.UnaryInterceptor(unary_server_trace)
|
||||
stream_trace := grpc.StreamInterceptor(stream_server_trace)
|
||||
srv = grpc.NewServer(unary_trace, stream_trace)
|
||||
} else {
|
||||
log.Info("Stats disabled.")
|
||||
srv = grpc.NewServer()
|
||||
log.Info("Stats disabled.")
|
||||
srv = grpc.NewServer()
|
||||
}
|
||||
|
||||
svc := &server{}
|
||||
pb.RegisterShippingServiceServer(srv, svc)
|
||||
healthpb.RegisterHealthServer(srv, svc)
|
||||
|
|
Loading…
Add table
Reference in a new issue