Instrumented everything but Python
This commit is contained in:
parent
11e68b3733
commit
99ce1f84c2
19 changed files with 952 additions and 24 deletions
|
@ -9,11 +9,12 @@ RUN go get -d github.com/google/uuid \
|
|||
google.golang.org/grpc/status \
|
||||
go.opencensus.io/plugin/ocgrpc \
|
||||
go.opencensus.io/exporter/stackdriver \
|
||||
go.opencensus.io/trace
|
||||
go.opencensus.io/trace \
|
||||
cloud.google.com/go/profiler
|
||||
COPY . .
|
||||
# get remaining dependencies
|
||||
RUN go get -d ./...
|
||||
RUN go build -o /checkoutservice .
|
||||
RUN go build -gcflags='-N -l' -o /checkoutservice .
|
||||
|
||||
FROM alpine as release
|
||||
RUN apk add --no-cache ca-certificates
|
||||
|
|
|
@ -18,6 +18,8 @@ import (
|
|||
|
||||
pb "checkoutservice/genproto"
|
||||
money "checkoutservice/money"
|
||||
|
||||
"cloud.google.com/go/profiler"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -35,6 +37,15 @@ type checkoutService struct {
|
|||
}
|
||||
|
||||
func main() {
|
||||
if err := profiler.Start(profiler.Config{
|
||||
Service: "cartservice",
|
||||
ServiceVersion: "1.0.0",
|
||||
// ProjectID must be set if not running on GCP.
|
||||
// ProjectID: "my-project",
|
||||
}); err != nil {
|
||||
// TODO: Handle error.
|
||||
}
|
||||
|
||||
port := listenPort
|
||||
if os.Getenv("PORT") != "" {
|
||||
port = os.Getenv("PORT")
|
||||
|
|
460
src/currencyservice/package-lock.json
generated
460
src/currencyservice/package-lock.json
generated
|
@ -26,6 +26,163 @@
|
|||
"through2": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@google-cloud/debug-agent": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/debug-agent/-/debug-agent-2.6.0.tgz",
|
||||
"integrity": "sha512-JwnuHNOqpLgtirMUSp+vOJxIjQfQ8DRfkGbEjUg5/Nhg8zDEz8H8Oo3s2Tuknkk1XkmPHpoKfz+6raD5NgEzZw==",
|
||||
"requires": {
|
||||
"@google-cloud/common": "^0.17.0",
|
||||
"acorn": "^5.0.3",
|
||||
"async": "^2.1.2",
|
||||
"coffee-script": "^1.9.3",
|
||||
"extend": "^3.0.1",
|
||||
"findit2": "^2.2.3",
|
||||
"gcp-metadata": "^0.6.3",
|
||||
"lodash": "^4.12.0",
|
||||
"semver": "^5.5.0",
|
||||
"source-map": "^0.6.1",
|
||||
"split": "^1.0.0",
|
||||
"util.promisify": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@google-cloud/common": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz",
|
||||
"integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==",
|
||||
"requires": {
|
||||
"array-uniq": "^1.0.3",
|
||||
"arrify": "^1.0.1",
|
||||
"concat-stream": "^1.6.0",
|
||||
"create-error-class": "^3.0.2",
|
||||
"duplexify": "^3.5.0",
|
||||
"ent": "^2.2.0",
|
||||
"extend": "^3.0.1",
|
||||
"google-auto-auth": "^0.10.0",
|
||||
"is": "^3.2.0",
|
||||
"log-driver": "1.2.7",
|
||||
"methmeth": "^1.1.0",
|
||||
"modelo": "^4.2.0",
|
||||
"request": "^2.79.0",
|
||||
"retry-request": "^3.0.0",
|
||||
"split-array-stream": "^1.0.0",
|
||||
"stream-events": "^1.0.1",
|
||||
"string-format-obj": "^1.1.0",
|
||||
"through2": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"async": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
|
||||
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.10"
|
||||
}
|
||||
},
|
||||
"split-array-stream": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz",
|
||||
"integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=",
|
||||
"requires": {
|
||||
"async": "^2.4.0",
|
||||
"is-stream-ended": "^0.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@google-cloud/profiler": {
|
||||
"version": "0.1.14",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/profiler/-/profiler-0.1.14.tgz",
|
||||
"integrity": "sha512-/mSllCncPbGKeFcoLvQR61BJKRcDfAnLqO9C3y6iu1jBSmnr9mCSrqt6vb0eL/YIsLGROdvmMqWOAZT5RZ6iCA==",
|
||||
"requires": {
|
||||
"@google-cloud/common": "^0.17.0",
|
||||
"bindings": "^1.2.1",
|
||||
"delay": "^2.0.0",
|
||||
"extend": "^3.0.1",
|
||||
"gcp-metadata": "^0.6.1",
|
||||
"nan": "^2.8.0",
|
||||
"parse-duration": "^0.1.1",
|
||||
"pify": "^3.0.0",
|
||||
"pretty-ms": "^3.1.0",
|
||||
"protobufjs": "~6.8.0",
|
||||
"request": "^2.83.0",
|
||||
"retry-request": "^3.0.1",
|
||||
"semver": "^5.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@google-cloud/common": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz",
|
||||
"integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==",
|
||||
"requires": {
|
||||
"array-uniq": "^1.0.3",
|
||||
"arrify": "^1.0.1",
|
||||
"concat-stream": "^1.6.0",
|
||||
"create-error-class": "^3.0.2",
|
||||
"duplexify": "^3.5.0",
|
||||
"ent": "^2.2.0",
|
||||
"extend": "^3.0.1",
|
||||
"google-auto-auth": "^0.10.0",
|
||||
"is": "^3.2.0",
|
||||
"log-driver": "1.2.7",
|
||||
"methmeth": "^1.1.0",
|
||||
"modelo": "^4.2.0",
|
||||
"request": "^2.79.0",
|
||||
"retry-request": "^3.0.0",
|
||||
"split-array-stream": "^1.0.0",
|
||||
"stream-events": "^1.0.1",
|
||||
"string-format-obj": "^1.1.0",
|
||||
"through2": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "8.10.21",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.21.tgz",
|
||||
"integrity": "sha512-87XkD9qDXm8fIax+5y7drx84cXsu34ZZqfB7Cial3Q/2lxSoJ/+DRaWckkCbxP41wFSIrrb939VhzaNxj4eY1w=="
|
||||
},
|
||||
"async": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
|
||||
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.10"
|
||||
}
|
||||
},
|
||||
"long": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||
},
|
||||
"protobufjs": {
|
||||
"version": "6.8.6",
|
||||
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz",
|
||||
"integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==",
|
||||
"requires": {
|
||||
"@protobufjs/aspromise": "^1.1.2",
|
||||
"@protobufjs/base64": "^1.1.2",
|
||||
"@protobufjs/codegen": "^2.0.4",
|
||||
"@protobufjs/eventemitter": "^1.1.0",
|
||||
"@protobufjs/fetch": "^1.1.0",
|
||||
"@protobufjs/float": "^1.0.2",
|
||||
"@protobufjs/inquire": "^1.1.0",
|
||||
"@protobufjs/path": "^1.1.2",
|
||||
"@protobufjs/pool": "^1.1.0",
|
||||
"@protobufjs/utf8": "^1.1.0",
|
||||
"@types/long": "^3.0.32",
|
||||
"@types/node": "^8.9.4",
|
||||
"long": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"split-array-stream": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz",
|
||||
"integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=",
|
||||
"requires": {
|
||||
"async": "^2.4.0",
|
||||
"is-stream-ended": "^0.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@google-cloud/trace-agent": {
|
||||
"version": "2.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/trace-agent/-/trace-agent-2.11.0.tgz",
|
||||
|
@ -46,6 +203,60 @@
|
|||
"uuid": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"@protobufjs/aspromise": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
||||
"integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78="
|
||||
},
|
||||
"@protobufjs/base64": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
|
||||
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
|
||||
},
|
||||
"@protobufjs/codegen": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
|
||||
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
|
||||
},
|
||||
"@protobufjs/eventemitter": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
|
||||
"integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A="
|
||||
},
|
||||
"@protobufjs/fetch": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
|
||||
"integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
|
||||
"requires": {
|
||||
"@protobufjs/aspromise": "^1.1.1",
|
||||
"@protobufjs/inquire": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"@protobufjs/float": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
|
||||
"integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E="
|
||||
},
|
||||
"@protobufjs/inquire": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
|
||||
"integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik="
|
||||
},
|
||||
"@protobufjs/path": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
|
||||
"integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0="
|
||||
},
|
||||
"@protobufjs/pool": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
|
||||
"integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q="
|
||||
},
|
||||
"@protobufjs/utf8": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
|
||||
"integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
|
||||
},
|
||||
"@types/caseless": {
|
||||
"version": "0.12.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.1.tgz",
|
||||
|
@ -67,6 +278,11 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/long": {
|
||||
"version": "3.0.32",
|
||||
"resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz",
|
||||
"integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA=="
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "10.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz",
|
||||
|
@ -88,6 +304,11 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.3.tgz",
|
||||
"integrity": "sha512-MDQLxNFRLasqS4UlkWMSACMKeSm1x4Q3TxzUC7KQUsh6RK1ZrQ0VEyE3yzXcBu+K8ejVj4wuX32eUG02yNp+YQ=="
|
||||
},
|
||||
"acorn": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
|
||||
"integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ=="
|
||||
},
|
||||
"ajv": {
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||
|
@ -104,6 +325,11 @@
|
|||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
|
||||
},
|
||||
"array-uniq": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
|
||||
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
|
||||
},
|
||||
"arrify": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
|
||||
|
@ -180,6 +406,11 @@
|
|||
"tweetnacl": "^0.14.3"
|
||||
}
|
||||
},
|
||||
"bindings": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz",
|
||||
"integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw=="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
|
@ -194,6 +425,11 @@
|
|||
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
|
||||
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
|
||||
},
|
||||
"buffer-from": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
|
||||
"integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ=="
|
||||
},
|
||||
"builtin-modules": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz",
|
||||
|
@ -212,6 +448,11 @@
|
|||
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
|
||||
"integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
|
||||
},
|
||||
"capture-stack-trace": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
|
||||
"integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0="
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
|
@ -237,6 +478,11 @@
|
|||
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
|
||||
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
|
||||
},
|
||||
"coffee-script": {
|
||||
"version": "1.12.7",
|
||||
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
|
||||
"integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw=="
|
||||
},
|
||||
"colour": {
|
||||
"version": "0.7.1",
|
||||
"resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz",
|
||||
|
@ -255,6 +501,17 @@
|
|||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
},
|
||||
"concat-stream": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.2.2",
|
||||
"typedarray": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"continuation-local-storage": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz",
|
||||
|
@ -269,6 +526,14 @@
|
|||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"create-error-class": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
|
||||
"integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
|
||||
"requires": {
|
||||
"capture-stack-trace": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
|
@ -290,6 +555,23 @@
|
|||
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
|
||||
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
|
||||
},
|
||||
"define-properties": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
|
||||
"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
|
||||
"requires": {
|
||||
"foreach": "^2.0.5",
|
||||
"object-keys": "^1.0.8"
|
||||
}
|
||||
},
|
||||
"delay": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delay/-/delay-2.0.0.tgz",
|
||||
"integrity": "sha1-kRLq3APk7H4AKXM3iW8nO72R+uU=",
|
||||
"requires": {
|
||||
"p-defer": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
|
@ -344,6 +626,28 @@
|
|||
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
|
||||
"integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0="
|
||||
},
|
||||
"es-abstract": {
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
|
||||
"integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
|
||||
"requires": {
|
||||
"es-to-primitive": "^1.1.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.1",
|
||||
"is-callable": "^1.1.3",
|
||||
"is-regex": "^1.0.4"
|
||||
}
|
||||
},
|
||||
"es-to-primitive": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
|
||||
"integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
|
||||
"requires": {
|
||||
"is-callable": "^1.1.1",
|
||||
"is-date-object": "^1.0.1",
|
||||
"is-symbol": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
|
||||
|
@ -364,6 +668,11 @@
|
|||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
||||
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
|
||||
},
|
||||
"findit2": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz",
|
||||
"integrity": "sha1-WKRmaX34piBc39vzlVNri9d3pfY="
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz",
|
||||
|
@ -372,6 +681,11 @@
|
|||
"debug": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"foreach": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
|
||||
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
||||
|
@ -392,6 +706,11 @@
|
|||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
||||
},
|
||||
"gcp-metadata": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz",
|
||||
|
@ -437,6 +756,27 @@
|
|||
"retry-axios": "^0.3.2"
|
||||
}
|
||||
},
|
||||
"google-auto-auth": {
|
||||
"version": "0.10.1",
|
||||
"resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz",
|
||||
"integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==",
|
||||
"requires": {
|
||||
"async": "^2.3.0",
|
||||
"gcp-metadata": "^0.6.1",
|
||||
"google-auth-library": "^1.3.1",
|
||||
"request": "^2.79.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
|
||||
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"google-p12-pem": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz",
|
||||
|
@ -893,6 +1233,14 @@
|
|||
"har-schema": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"has": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
|
||||
|
@ -932,6 +1280,16 @@
|
|||
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
|
||||
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
|
||||
},
|
||||
"is-callable": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
|
||||
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
|
||||
},
|
||||
"is-date-object": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
|
||||
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
||||
|
@ -940,11 +1298,24 @@
|
|||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"is-regex": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
|
||||
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
|
||||
"requires": {
|
||||
"has": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"is-stream-ended": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz",
|
||||
"integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw=="
|
||||
},
|
||||
"is-symbol": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
|
||||
"integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI="
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
|
@ -1039,6 +1410,11 @@
|
|||
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
|
||||
"integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
|
||||
},
|
||||
"log-driver": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
|
||||
"integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg=="
|
||||
},
|
||||
"long": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
|
||||
|
@ -1053,6 +1429,11 @@
|
|||
"yallist": "^2.1.2"
|
||||
}
|
||||
},
|
||||
"methmeth": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/methmeth/-/methmeth-1.1.0.tgz",
|
||||
"integrity": "sha1-6AomYY5S9cQiKGG7dIUQvRDikIk="
|
||||
},
|
||||
"methods": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||
|
@ -1084,6 +1465,11 @@
|
|||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"modelo": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/modelo/-/modelo-4.2.3.tgz",
|
||||
"integrity": "sha512-9DITV2YEMcw7XojdfvGl3gDD8J9QjZTJ7ZOUuSAkP+F3T6rDbzMJuPktxptsdHYEvZcmXrCD3LMOhdSAEq6zKA=="
|
||||
},
|
||||
"module-details-from-path": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz",
|
||||
|
@ -1114,6 +1500,20 @@
|
|||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
|
||||
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
|
||||
},
|
||||
"object-keys": {
|
||||
"version": "1.0.12",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
|
||||
"integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag=="
|
||||
},
|
||||
"object.getownpropertydescriptors": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
|
||||
"integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"es-abstract": "^1.5.1"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
|
@ -1135,6 +1535,21 @@
|
|||
"lcid": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"p-defer": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
|
||||
"integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
|
||||
},
|
||||
"parse-duration": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-0.1.1.tgz",
|
||||
"integrity": "sha1-ExFN3JiRwezSgANiRFVN5DZHoiY="
|
||||
},
|
||||
"parse-ms": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
|
||||
"integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0="
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
|
@ -1155,6 +1570,14 @@
|
|||
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
|
||||
},
|
||||
"pretty-ms": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.2.0.tgz",
|
||||
"integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==",
|
||||
"requires": {
|
||||
"parse-ms": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
|
||||
|
@ -1283,6 +1706,19 @@
|
|||
"resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.0.tgz",
|
||||
"integrity": "sha512-xTCx2vohXC2EWWDqY/zb4+5Mu28D+HYNSOuFzsyRDRvI/e1ICb69afwaUwfjr+25ZXldbOLyp+iDUZHq8UnTag=="
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
|
||||
},
|
||||
"split": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
|
||||
"integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
|
||||
"requires": {
|
||||
"through": "2"
|
||||
}
|
||||
},
|
||||
"split-array-stream": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz",
|
||||
|
@ -1320,6 +1756,11 @@
|
|||
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
|
||||
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
|
||||
},
|
||||
"string-format-obj": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz",
|
||||
"integrity": "sha512-Mm+sROy+pHJmx0P/0Bs1uxIX6UhGJGj6xDGQZ5zh9v/SZRmLGevp+p0VJxV7lirrkAmQ2mvva/gHKpnF/pTb+Q=="
|
||||
},
|
||||
"string-width": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||
|
@ -1351,6 +1792,11 @@
|
|||
"resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
|
||||
"integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls="
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
},
|
||||
"through2": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
|
||||
|
@ -1382,11 +1828,25 @@
|
|||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
|
||||
"optional": true
|
||||
},
|
||||
"typedarray": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
||||
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
},
|
||||
"util.promisify": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
|
||||
"integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"object.getownpropertydescriptors": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
"repository": "TODO",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@google-cloud/debug-agent": "^2.6.0",
|
||||
"@google-cloud/profiler": "^0.1.14",
|
||||
"@google-cloud/trace-agent": "^2.11.0",
|
||||
"async": "^1.5.2",
|
||||
"google-protobuf": "^3.0.0",
|
||||
|
|
|
@ -14,7 +14,14 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
require('@google-cloud/trace-agent').start();
|
||||
require('@google-cloud/profiler').start({
|
||||
serviceContext: {
|
||||
service: 'currencyservice',
|
||||
version: '1.0.0'
|
||||
}
|
||||
});
|
||||
require('@google-cloud/trace-agent').start();
|
||||
require('@google-cloud/debug-agent').start();
|
||||
|
||||
const path = require('path');
|
||||
const grpc = require('grpc');
|
||||
|
|
|
@ -13,7 +13,8 @@ RUN go get -d github.com/google/uuid \
|
|||
go.opencensus.io/plugin/ochttp \
|
||||
go.opencensus.io/plugin/ochttp/propagation/b3 \
|
||||
go.opencensus.io/exporter/stackdriver \
|
||||
go.opencensus.io/trace
|
||||
go.opencensus.io/trace \
|
||||
cloud.google.com/go/profiler
|
||||
|
||||
# copy go-only part of the build
|
||||
COPY *.go ./
|
||||
|
|
|
@ -7,6 +7,7 @@ import (
|
|||
"os"
|
||||
"time"
|
||||
|
||||
"cloud.google.com/go/profiler"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
@ -61,6 +62,16 @@ type frontendServer struct {
|
|||
}
|
||||
|
||||
func main() {
|
||||
// Profiler initialization, best done as early as possible.
|
||||
if err := profiler.Start(profiler.Config{
|
||||
Service: "frontendservice",
|
||||
ServiceVersion: "1.0.0",
|
||||
// ProjectID must be set if not running on GCP.
|
||||
// ProjectID: "my-project",
|
||||
}); err != nil {
|
||||
// TODO: Handle error.
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
log := logrus.New()
|
||||
log.Level = logrus.DebugLevel
|
||||
|
|
|
@ -16,6 +16,15 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
require('@google-cloud/profiler').start({
|
||||
serviceContext: {
|
||||
service: 'paymentservice',
|
||||
version: '1.0.0'
|
||||
}
|
||||
});
|
||||
require('@google-cloud/trace-agent').start();
|
||||
require('@google-cloud/debug-agent').start();
|
||||
|
||||
const HipsterShopServer = require('./server');
|
||||
|
||||
const PORT = process.env['PORT'];
|
||||
|
|
383
src/paymentservice/package-lock.json
generated
383
src/paymentservice/package-lock.json
generated
|
@ -26,6 +26,147 @@
|
|||
"through2": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@google-cloud/debug-agent": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/debug-agent/-/debug-agent-2.6.0.tgz",
|
||||
"integrity": "sha512-JwnuHNOqpLgtirMUSp+vOJxIjQfQ8DRfkGbEjUg5/Nhg8zDEz8H8Oo3s2Tuknkk1XkmPHpoKfz+6raD5NgEzZw==",
|
||||
"requires": {
|
||||
"@google-cloud/common": "^0.17.0",
|
||||
"acorn": "^5.0.3",
|
||||
"async": "^2.1.2",
|
||||
"coffee-script": "^1.9.3",
|
||||
"extend": "^3.0.1",
|
||||
"findit2": "^2.2.3",
|
||||
"gcp-metadata": "^0.6.3",
|
||||
"lodash": "^4.12.0",
|
||||
"semver": "^5.5.0",
|
||||
"source-map": "^0.6.1",
|
||||
"split": "^1.0.0",
|
||||
"util.promisify": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@google-cloud/common": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz",
|
||||
"integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==",
|
||||
"requires": {
|
||||
"array-uniq": "^1.0.3",
|
||||
"arrify": "^1.0.1",
|
||||
"concat-stream": "^1.6.0",
|
||||
"create-error-class": "^3.0.2",
|
||||
"duplexify": "^3.5.0",
|
||||
"ent": "^2.2.0",
|
||||
"extend": "^3.0.1",
|
||||
"google-auto-auth": "^0.10.0",
|
||||
"is": "^3.2.0",
|
||||
"log-driver": "1.2.7",
|
||||
"methmeth": "^1.1.0",
|
||||
"modelo": "^4.2.0",
|
||||
"request": "^2.79.0",
|
||||
"retry-request": "^3.0.0",
|
||||
"split-array-stream": "^1.0.0",
|
||||
"stream-events": "^1.0.1",
|
||||
"string-format-obj": "^1.1.0",
|
||||
"through2": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"split-array-stream": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz",
|
||||
"integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=",
|
||||
"requires": {
|
||||
"async": "^2.4.0",
|
||||
"is-stream-ended": "^0.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@google-cloud/profiler": {
|
||||
"version": "0.1.14",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/profiler/-/profiler-0.1.14.tgz",
|
||||
"integrity": "sha512-/mSllCncPbGKeFcoLvQR61BJKRcDfAnLqO9C3y6iu1jBSmnr9mCSrqt6vb0eL/YIsLGROdvmMqWOAZT5RZ6iCA==",
|
||||
"requires": {
|
||||
"@google-cloud/common": "^0.17.0",
|
||||
"bindings": "^1.2.1",
|
||||
"delay": "^2.0.0",
|
||||
"extend": "^3.0.1",
|
||||
"gcp-metadata": "^0.6.1",
|
||||
"nan": "^2.8.0",
|
||||
"parse-duration": "^0.1.1",
|
||||
"pify": "^3.0.0",
|
||||
"pretty-ms": "^3.1.0",
|
||||
"protobufjs": "~6.8.0",
|
||||
"request": "^2.83.0",
|
||||
"retry-request": "^3.0.1",
|
||||
"semver": "^5.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@google-cloud/common": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz",
|
||||
"integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==",
|
||||
"requires": {
|
||||
"array-uniq": "^1.0.3",
|
||||
"arrify": "^1.0.1",
|
||||
"concat-stream": "^1.6.0",
|
||||
"create-error-class": "^3.0.2",
|
||||
"duplexify": "^3.5.0",
|
||||
"ent": "^2.2.0",
|
||||
"extend": "^3.0.1",
|
||||
"google-auto-auth": "^0.10.0",
|
||||
"is": "^3.2.0",
|
||||
"log-driver": "1.2.7",
|
||||
"methmeth": "^1.1.0",
|
||||
"modelo": "^4.2.0",
|
||||
"request": "^2.79.0",
|
||||
"retry-request": "^3.0.0",
|
||||
"split-array-stream": "^1.0.0",
|
||||
"stream-events": "^1.0.1",
|
||||
"string-format-obj": "^1.1.0",
|
||||
"through2": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "8.10.21",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.21.tgz",
|
||||
"integrity": "sha512-87XkD9qDXm8fIax+5y7drx84cXsu34ZZqfB7Cial3Q/2lxSoJ/+DRaWckkCbxP41wFSIrrb939VhzaNxj4eY1w=="
|
||||
},
|
||||
"long": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||
},
|
||||
"protobufjs": {
|
||||
"version": "6.8.6",
|
||||
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz",
|
||||
"integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==",
|
||||
"requires": {
|
||||
"@protobufjs/aspromise": "^1.1.2",
|
||||
"@protobufjs/base64": "^1.1.2",
|
||||
"@protobufjs/codegen": "^2.0.4",
|
||||
"@protobufjs/eventemitter": "^1.1.0",
|
||||
"@protobufjs/fetch": "^1.1.0",
|
||||
"@protobufjs/float": "^1.0.2",
|
||||
"@protobufjs/inquire": "^1.1.0",
|
||||
"@protobufjs/path": "^1.1.2",
|
||||
"@protobufjs/pool": "^1.1.0",
|
||||
"@protobufjs/utf8": "^1.1.0",
|
||||
"@types/long": "^3.0.32",
|
||||
"@types/node": "^8.9.4",
|
||||
"long": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"split-array-stream": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz",
|
||||
"integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=",
|
||||
"requires": {
|
||||
"async": "^2.4.0",
|
||||
"is-stream-ended": "^0.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@google-cloud/trace-agent": {
|
||||
"version": "2.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@google-cloud/trace-agent/-/trace-agent-2.11.0.tgz",
|
||||
|
@ -197,6 +338,11 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.3.tgz",
|
||||
"integrity": "sha512-MDQLxNFRLasqS4UlkWMSACMKeSm1x4Q3TxzUC7KQUsh6RK1ZrQ0VEyE3yzXcBu+K8ejVj4wuX32eUG02yNp+YQ=="
|
||||
},
|
||||
"acorn": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
|
||||
"integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ=="
|
||||
},
|
||||
"ajv": {
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||
|
@ -213,6 +359,11 @@
|
|||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
|
||||
},
|
||||
"array-uniq": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
|
||||
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
|
||||
},
|
||||
"arrify": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
|
||||
|
@ -237,6 +388,14 @@
|
|||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
|
||||
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
|
||||
},
|
||||
"async": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
|
||||
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.10"
|
||||
}
|
||||
},
|
||||
"async-listener": {
|
||||
"version": "0.6.9",
|
||||
"resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.9.tgz",
|
||||
|
@ -284,6 +443,11 @@
|
|||
"tweetnacl": "^0.14.3"
|
||||
}
|
||||
},
|
||||
"bindings": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz",
|
||||
"integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw=="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
|
@ -298,6 +462,11 @@
|
|||
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
|
||||
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
|
||||
},
|
||||
"buffer-from": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
|
||||
"integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ=="
|
||||
},
|
||||
"builtin-modules": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz",
|
||||
|
@ -316,6 +485,11 @@
|
|||
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
|
||||
"integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
|
||||
},
|
||||
"capture-stack-trace": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
|
||||
"integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0="
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
|
@ -341,6 +515,11 @@
|
|||
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
|
||||
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
|
||||
},
|
||||
"coffee-script": {
|
||||
"version": "1.12.7",
|
||||
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
|
||||
"integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw=="
|
||||
},
|
||||
"colour": {
|
||||
"version": "0.7.1",
|
||||
"resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz",
|
||||
|
@ -359,6 +538,17 @@
|
|||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
},
|
||||
"concat-stream": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.2.2",
|
||||
"typedarray": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"continuation-local-storage": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz",
|
||||
|
@ -373,6 +563,14 @@
|
|||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"create-error-class": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
|
||||
"integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
|
||||
"requires": {
|
||||
"capture-stack-trace": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
|
@ -394,6 +592,23 @@
|
|||
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
|
||||
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
|
||||
},
|
||||
"define-properties": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
|
||||
"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
|
||||
"requires": {
|
||||
"foreach": "^2.0.5",
|
||||
"object-keys": "^1.0.8"
|
||||
}
|
||||
},
|
||||
"delay": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delay/-/delay-2.0.0.tgz",
|
||||
"integrity": "sha1-kRLq3APk7H4AKXM3iW8nO72R+uU=",
|
||||
"requires": {
|
||||
"p-defer": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
|
@ -448,6 +663,28 @@
|
|||
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
|
||||
"integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0="
|
||||
},
|
||||
"es-abstract": {
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
|
||||
"integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
|
||||
"requires": {
|
||||
"es-to-primitive": "^1.1.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.1",
|
||||
"is-callable": "^1.1.3",
|
||||
"is-regex": "^1.0.4"
|
||||
}
|
||||
},
|
||||
"es-to-primitive": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
|
||||
"integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
|
||||
"requires": {
|
||||
"is-callable": "^1.1.1",
|
||||
"is-date-object": "^1.0.1",
|
||||
"is-symbol": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
|
||||
|
@ -468,6 +705,11 @@
|
|||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
||||
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
|
||||
},
|
||||
"findit2": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz",
|
||||
"integrity": "sha1-WKRmaX34piBc39vzlVNri9d3pfY="
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz",
|
||||
|
@ -476,6 +718,11 @@
|
|||
"debug": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"foreach": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
|
||||
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
||||
|
@ -496,6 +743,11 @@
|
|||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
||||
},
|
||||
"gcp-metadata": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz",
|
||||
|
@ -541,6 +793,17 @@
|
|||
"retry-axios": "^0.3.2"
|
||||
}
|
||||
},
|
||||
"google-auto-auth": {
|
||||
"version": "0.10.1",
|
||||
"resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz",
|
||||
"integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==",
|
||||
"requires": {
|
||||
"async": "^2.3.0",
|
||||
"gcp-metadata": "^0.6.1",
|
||||
"google-auth-library": "^1.3.1",
|
||||
"request": "^2.79.0"
|
||||
}
|
||||
},
|
||||
"google-p12-pem": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz",
|
||||
|
@ -992,6 +1255,14 @@
|
|||
"har-schema": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"has": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
|
||||
|
@ -1031,6 +1302,16 @@
|
|||
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
|
||||
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
|
||||
},
|
||||
"is-callable": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
|
||||
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
|
||||
},
|
||||
"is-date-object": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
|
||||
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
||||
|
@ -1039,11 +1320,24 @@
|
|||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"is-regex": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
|
||||
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
|
||||
"requires": {
|
||||
"has": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"is-stream-ended": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz",
|
||||
"integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw=="
|
||||
},
|
||||
"is-symbol": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
|
||||
"integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI="
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
|
@ -1138,6 +1432,11 @@
|
|||
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
|
||||
"integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
|
||||
},
|
||||
"log-driver": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
|
||||
"integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg=="
|
||||
},
|
||||
"long": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
|
||||
|
@ -1152,6 +1451,11 @@
|
|||
"yallist": "^2.1.2"
|
||||
}
|
||||
},
|
||||
"methmeth": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/methmeth/-/methmeth-1.1.0.tgz",
|
||||
"integrity": "sha1-6AomYY5S9cQiKGG7dIUQvRDikIk="
|
||||
},
|
||||
"methods": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||
|
@ -1183,6 +1487,11 @@
|
|||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"modelo": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/modelo/-/modelo-4.2.3.tgz",
|
||||
"integrity": "sha512-9DITV2YEMcw7XojdfvGl3gDD8J9QjZTJ7ZOUuSAkP+F3T6rDbzMJuPktxptsdHYEvZcmXrCD3LMOhdSAEq6zKA=="
|
||||
},
|
||||
"module-details-from-path": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz",
|
||||
|
@ -1213,6 +1522,20 @@
|
|||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
|
||||
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
|
||||
},
|
||||
"object-keys": {
|
||||
"version": "1.0.12",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
|
||||
"integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag=="
|
||||
},
|
||||
"object.getownpropertydescriptors": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
|
||||
"integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"es-abstract": "^1.5.1"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
|
@ -1234,6 +1557,21 @@
|
|||
"lcid": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"p-defer": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
|
||||
"integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
|
||||
},
|
||||
"parse-duration": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-0.1.1.tgz",
|
||||
"integrity": "sha1-ExFN3JiRwezSgANiRFVN5DZHoiY="
|
||||
},
|
||||
"parse-ms": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
|
||||
"integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0="
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
|
@ -1254,6 +1592,14 @@
|
|||
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
|
||||
},
|
||||
"pretty-ms": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.2.0.tgz",
|
||||
"integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==",
|
||||
"requires": {
|
||||
"parse-ms": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
|
||||
|
@ -1382,6 +1728,19 @@
|
|||
"resolved": "https://registry.npmjs.org/simple-card-validator/-/simple-card-validator-1.1.0.tgz",
|
||||
"integrity": "sha1-675uRp/q7Cy7SBX4Qyu+BMccNvk="
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
|
||||
},
|
||||
"split": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
|
||||
"integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
|
||||
"requires": {
|
||||
"through": "2"
|
||||
}
|
||||
},
|
||||
"split-array-stream": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz",
|
||||
|
@ -1419,6 +1778,11 @@
|
|||
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
|
||||
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
|
||||
},
|
||||
"string-format-obj": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz",
|
||||
"integrity": "sha512-Mm+sROy+pHJmx0P/0Bs1uxIX6UhGJGj6xDGQZ5zh9v/SZRmLGevp+p0VJxV7lirrkAmQ2mvva/gHKpnF/pTb+Q=="
|
||||
},
|
||||
"string-width": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||
|
@ -1450,6 +1814,11 @@
|
|||
"resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
|
||||
"integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls="
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
},
|
||||
"through2": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
|
||||
|
@ -1481,11 +1850,25 @@
|
|||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
|
||||
"optional": true
|
||||
},
|
||||
"typedarray": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
||||
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
},
|
||||
"util.promisify": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
|
||||
"integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"object.getownpropertydescriptors": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
"author": "Jonathan Lui",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@google-cloud/debug-agent": "^2.6.0",
|
||||
"@google-cloud/profiler": "^0.1.14",
|
||||
"@google-cloud/trace-agent": "^2.11.0",
|
||||
"@grpc/proto-loader": "^0.1.0",
|
||||
"grpc": "^1.12.3",
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
require('@google-cloud/trace-agent').start();
|
||||
const grpc = require('grpc');
|
||||
const protoLoader = require('@grpc/proto-loader');
|
||||
|
||||
|
|
|
@ -9,7 +9,8 @@ RUN go get -d google.golang.org/grpc \
|
|||
google.golang.org/grpc/status \
|
||||
go.opencensus.io/plugin/ocgrpc \
|
||||
go.opencensus.io/trace \
|
||||
go.opencensus.io/exporter/stackdriver
|
||||
go.opencensus.io/exporter/stackdriver \
|
||||
cloud.google.com/go/profiler
|
||||
|
||||
COPY . .
|
||||
# get remaining dependencies
|
||||
|
|
|
@ -10,6 +10,7 @@ import (
|
|||
"time"
|
||||
|
||||
pb "./genproto"
|
||||
"cloud.google.com/go/profiler"
|
||||
"go.opencensus.io/exporter/stackdriver"
|
||||
"go.opencensus.io/plugin/ocgrpc"
|
||||
"go.opencensus.io/trace"
|
||||
|
@ -87,6 +88,15 @@ var catalog = []*pb.Product{
|
|||
}
|
||||
|
||||
func main() {
|
||||
if err := profiler.Start(profiler.Config{
|
||||
Service: "productcatalogservice",
|
||||
ServiceVersion: "1.0.0",
|
||||
// ProjectID must be set if not running on GCP.
|
||||
// ProjectID: "my-project",
|
||||
}); err != nil {
|
||||
// TODO: Handle error.
|
||||
}
|
||||
|
||||
flag.Parse()
|
||||
|
||||
go initTracing()
|
||||
|
|
|
@ -7,6 +7,11 @@ ENV PYTHONUNBUFFERED=0
|
|||
COPY . /home/
|
||||
WORKDIR /home
|
||||
|
||||
# get packages
|
||||
RUN apt-get update && apt-get install python3-pip -y
|
||||
RUN pip install opencensus
|
||||
RUN pip install google-python-cloud-debugger
|
||||
|
||||
# set listen port
|
||||
ENV PORT "8080"
|
||||
EXPOSE 8080
|
||||
|
|
|
@ -3,6 +3,10 @@ import demo_pb2
|
|||
import demo_pb2_grpc
|
||||
import sys
|
||||
|
||||
from opencensus.trace.tracer import Tracer
|
||||
from opencensus.trace.exporters import stackdriver_exporter
|
||||
from opencensus.trace.ext.grpc import client_interceptor
|
||||
|
||||
if __name__ == "__main__":
|
||||
# get port
|
||||
if len(sys.argv) > 1:
|
||||
|
@ -10,13 +14,16 @@ if __name__ == "__main__":
|
|||
else:
|
||||
port = "8080"
|
||||
|
||||
exporter = stackdriver_exporter.StackdriverExporter()
|
||||
tracer = Tracer(exporter=exporter)
|
||||
tracer_interceptor = client_interceptor.OpenCensusClientInterceptor(tracer, host_port='localhost:'+port)
|
||||
|
||||
# set up server stub
|
||||
channel = grpc.insecure_channel('localhost:'+port)
|
||||
channel = grpc.intercept_channel(channel, tracer_interceptor)
|
||||
stub = demo_pb2_grpc.RecommendationServiceStub(channel)
|
||||
|
||||
# form request
|
||||
request = demo_pb2.ListRecommendationsRequest(user_id="test", product_ids=["test"])
|
||||
|
||||
# make call to server
|
||||
response = stub.ListRecommendations(request)
|
||||
print(response)
|
||||
print(response)
|
|
@ -6,58 +6,63 @@ import time
|
|||
import random
|
||||
import os
|
||||
|
||||
# from opencensus.trace.ext.grpc import server_interceptor
|
||||
# from opencensus.trace.samplers import always_on
|
||||
# from opencensus.trace.exporters import stackdriver_exporter
|
||||
|
||||
class RecommendationService(demo_pb2_grpc.RecommendationServiceServicer):
|
||||
def ListRecommendations(self, request, context):
|
||||
max_responses = 5
|
||||
|
||||
# fetch list of products from product catalog stub
|
||||
cat_response = stub.ListProducts(demo_pb2.Empty())
|
||||
|
||||
product_ids = [x.id for x in cat_response.products]
|
||||
filtered_products = list(set(product_ids)-set(request.product_ids))
|
||||
|
||||
num_products = len(filtered_products)
|
||||
num_return = min(max_responses, num_products)
|
||||
|
||||
# sample list of indicies to return
|
||||
indices = random.sample(range(num_products), num_return)
|
||||
# fetch product ids from indices
|
||||
prod_list = [filtered_products[i] for i in indices]
|
||||
print("handling request: {}".format(prod_list))
|
||||
|
||||
# build and return response
|
||||
response = demo_pb2.ListRecommendationsResponse()
|
||||
response.product_ids.extend(prod_list)
|
||||
return response
|
||||
|
||||
if __name__ == "__main__":
|
||||
# sampler = always_on.AlwaysOnSampler()
|
||||
# exporter = stackdriver_exporter.StackdriverExporter()
|
||||
# tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(sampler, exporter)
|
||||
|
||||
# try:
|
||||
# import googleclouddebugger
|
||||
# googleclouddebugger.enable(
|
||||
# module='recommendationserver',
|
||||
# version='[VERSION]'
|
||||
# )
|
||||
# except ImportError:
|
||||
# pass
|
||||
|
||||
# get port from $PORT envar
|
||||
port = os.environ.get('PORT', "8080")
|
||||
# get product catalog service address from $PRODUCT_CATALOG_SERVICE_ADDR envar
|
||||
catalog_addr = os.environ.get('PRODUCT_CATALOG_SERVICE_ADDR', '')
|
||||
if catalog_addr == "":
|
||||
raise Exception('PRODUCT_CATALOG_SERVICE_ADDR environment not set')
|
||||
|
||||
print("product catalog address: " + catalog_addr)
|
||||
print("listening on port: " + port)
|
||||
|
||||
# stub for product catalog service
|
||||
channel = grpc.insecure_channel(catalog_addr)
|
||||
stub = demo_pb2_grpc.ProductCatalogServiceStub(channel)
|
||||
|
||||
# create gRPC server
|
||||
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
|
||||
|
||||
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))#,interceptors=(tracer_interceptor))
|
||||
# add class to gRPC server
|
||||
demo_pb2_grpc.add_RecommendationServiceServicer_to_server(RecommendationService(), server)
|
||||
|
||||
# start server
|
||||
server.add_insecure_port('[::]:'+port)
|
||||
server.start()
|
||||
|
||||
# keep alive
|
||||
try:
|
||||
while True:
|
||||
time.sleep(10000)
|
||||
except KeyboardInterrupt:
|
||||
server.stop(0)
|
||||
server.stop(0)
|
|
@ -1,2 +1,4 @@
|
|||
grpcio-tools
|
||||
googleapis-common-protos
|
||||
opencensus
|
||||
google-cloud-trace
|
|
@ -9,7 +9,8 @@ RUN go get -d golang.org/x/net/context \
|
|||
google.golang.org/grpc/reflection \
|
||||
go.opencensus.io/exporter/stackdriver \
|
||||
go.opencensus.io/plugin/ocgrpc \
|
||||
go.opencensus.io/trace
|
||||
go.opencensus.io/trace \
|
||||
cloud.google.com/go/profiler
|
||||
|
||||
COPY . .
|
||||
# get other dependencies
|
||||
|
|
|
@ -7,6 +7,7 @@ import (
|
|||
"os"
|
||||
"time"
|
||||
|
||||
"cloud.google.com/go/profiler"
|
||||
"go.opencensus.io/exporter/stackdriver"
|
||||
"go.opencensus.io/plugin/ocgrpc"
|
||||
"go.opencensus.io/trace"
|
||||
|
@ -28,6 +29,16 @@ func main() {
|
|||
}
|
||||
port = fmt.Sprintf(":%s", port)
|
||||
|
||||
// Profiler initialization, best done as early as possible.
|
||||
if err := profiler.Start(profiler.Config{
|
||||
Service: "shippingservice",
|
||||
ServiceVersion: "1.0.0",
|
||||
// ProjectID must be set if not running on GCP.
|
||||
// ProjectID: "my-project",
|
||||
}); err != nil {
|
||||
// TODO: Handle error.
|
||||
}
|
||||
|
||||
go initTracing()
|
||||
|
||||
lis, err := net.Listen("tcp", port)
|
||||
|
|
Loading…
Reference in a new issue