Commit graph

337 commits

Author SHA1 Message Date
dependabot[bot]
f1a8e88f9b
Bump pyyaml from 3.13 to 5.1 in /src/recommendationservice (#317) 2020-04-08 17:11:55 -07:00
dependabot[bot]
21c7455f73
Bump urllib3 from 1.24.1 to 1.24.2 in /src/recommendationservice (#315) 2020-04-08 15:37:53 -07:00
dependabot[bot]
12f06ab19d
Bump urllib3 from 1.24.1 to 1.24.2 in /src/emailservice (#314) 2020-04-08 15:36:07 -07:00
dependabot[bot]
35edb74678
Bump urllib3 from 1.24.1 to 1.24.2 in /src/loadgenerator (#313) 2020-04-08 15:33:52 -07:00
dependabot[bot]
f948037ac6
Bump extend from 3.0.1 to 3.0.2 in /src/currencyservice (#312) 2020-04-08 15:29:04 -07:00
Jorge González González
997b5e8807
Change 'wait' to use 'between' as recommended by locustio (#298) 2020-03-28 18:38:03 -07:00
Jonas-Taha El Sesiy
23ad0169c2
Migrate to Gradle 6 (#281)
Update build.gradle to use plugin DSL instead of outdated buildscript
Update gradle wrapper to 6.3
Update jackson, opencensus, grpc & other dependencies to recent versions
Fix code warnings
Properly format source files using goJF task
Add default port to AdService
2020-03-28 00:16:31 -07:00
Daniel Sanche
e65565987e
Update container build instructions (#296) 2020-03-26 14:32:37 -07:00
Megan O'Keefe
90f9287f3a
Adds option to disable Stackdriver Export (#293) 2020-02-20 15:26:44 -05:00
Morgan McLean
595bd21d38
Set environment variable to enable Profiler (#239) 2020-02-14 16:49:24 -08:00
Megan O'Keefe
9133fdc043
EmptyCart bug fix (#289) 2020-02-06 15:36:26 -08:00
Daniel Sanche
53f2528094 Fix double shebang in loadgen.sh (#284) 2020-01-16 15:48:57 -08:00
Megan O'Keefe
04b2084779
[WIP] Fixes emailservice CrashLoop when Workload Identity is enabled (#280)
* Adds explicit PROJECT_ID for stackdriver exporter

* save work

* cleanup
2019-12-17 13:41:59 -05:00
Megan O'Keefe
8cfb88bf2f
Standardizes loadgen behavior for Istio mTLS=STRICT (#279)
* Adds liveness probe annotation, moves loadgen initcontainer into main

* cleanup

* cleanup

* updated wrong manifests

* respond to comments
2019-12-16 09:30:23 -05:00
Ben Wells
a95997be94 Remove deps files from node paymentservice (#252) 2019-10-16 13:45:55 -07:00
Joseph Sirianni
24ca9eecef use python 3.7, as python:3-slim is now using python 3.8. (#254) 2019-10-16 10:11:05 -07:00
djmailhot
2177813c44 cartservice: Create genproto.sh (#249)
* Add src/cartservice/genproto.sh

* Add grpc generation to cartservice/genproto.sh

* Remove grpc from cartservice/genproto.sh due to errors
2019-09-29 15:40:48 +03:00
Daniel Sanche
4681320f80 got rid of errors in Stackdriver Logging (#245) 2019-09-20 15:11:49 -04:00
Megan O'Keefe
156dfcec8a
[cartservice] Increases health check timeout (#240)
* Increases cartservice health check rpc timeout

* remove stopwatch from health check

* cleanup

* Cleanup
2019-08-19 14:28:03 -04:00
Evans Wang
13b73067c4 Typo in the months drop down (#237) 2019-07-16 14:00:33 -07:00
Megan O'Keefe
bb41c7fe02
Updates stackdriver agents for node.js services (#236) 2019-07-11 11:47:31 -04:00
Megan O'Keefe
754d22a08f
Updates go services to google-cloud-go 0.40.0 (#234)
* Updates go services to google cloud go 0.40.0

* Revert kubernetes manifests, remove custom images

* Remove binary file, replace nil error with unimplemented

* Shippingservice needed status import

* Remove shippingservice binary
2019-07-09 16:57:50 -04:00
iasinDev
f575b76f33 Fix https://github.com/GoogleCloudPlatform/microservices-demo/issues/222 (#224) 2019-07-01 14:49:31 -07:00
Yoshi Yamaguchi
1c057fcbd8 aligning function name and log message to the official product name (#229)
* log: change log format to JSON payload for better log in Stackdriver

change the log format in Go written service from text payload to
JSON payload using 3rd party logging library (logrus).

https://cloud.google.com/logging/docs/structured-logging
33a1e118e1/json_formatter.go (L40-L49)

Effected services are frontend, productcatalogservice, checkoutservice,
and shippinservice.

Also change target container registry and locust scenario for testing.

* revert kubernetes manifests to point to the original container registry URLs

* revert skaffold.yaml to point to the original registry

* loadgenerator: revert locust settings

* align all function names and messages to the official product name "Stackdriver"
2019-06-13 00:46:33 -07:00
Dinesh Nagar
ce03eb3c36 removed left-pad module (#218) 2019-05-22 10:16:09 +02:00
Abhilash Gnan
55f5061532 Use env in service manifests for PORT (#212)
* fix shipping service ports

* fix product catalog servicde ports

* fix paymentservice ports

* fix currenservice ports

* fix checkoutservice ports

* fix emailservice ports

* fix frontend app ports

* fix recommendationservice ports

* fix indentation in service yaml files
2019-05-08 19:39:14 -07:00
Kalyana Chadalavada
876d4f966f Add Stackdriver Profiler Java agent to adservice (#210)
* Add Stackdriver Profiler Java agent to adservice.

* Add Stackdriver Profiler Java agent to adservice.
2019-05-08 19:31:33 -07:00
Kalyana Chadalavada
86fb1662a3 Add Stackdriver Profiler Python agent (#176)
* Add Stackdriver Profiler Python agent to EmailService and
RecommendationService

* Update recommendation_server.py

* Moved Profiler init to a function

* Moved Profiler init to a function

* Delete key.json

* Delete key.json

* Delete key.json
2019-05-03 10:29:34 -07:00
Chris Proto
f276995585 Follow OWASP best practices on CC presentation on checkout form (#207)
* Follow OWASP best practices on CC presentation on checkout form

See OWASP recommendations here:
<https://www.owasp.org/index.php/Handling_E-Commerce_Payments#Displaying_portions_of_the_credit_card>

* Use `input type=password`
* Set `autocomplete="off"`

* Change credit_card_number input type back to "text"
2019-04-30 09:46:50 -07:00
Pradip Caulagi
57b316c045 Update docker images for go to 1.12 (#203) 2019-04-01 10:50:44 -07:00
Ace Nassri
f7580958cc Switch currencyservice to static JSON file (#173) 2019-03-06 16:42:08 -08:00
sebright
d08d419a94 adservice: use Stackdriver special field to set sampling decision in log entries (#168)
This commit sets the new sampling decision field that is recognized by the
Stackdriver Logging agent, "logging.googleapis.com/traceSampled".  The sampling
decision field was added in
https://github.com/GoogleCloudPlatform/fluent-plugin-google-cloud/pull/297, and
it won't be available until the new version of fluent-plugin-google-cloud is
used in GKE.
2019-02-28 22:34:57 -07:00
Ahmet Alp Balkan
458bf50b95
credit card expired (#167)
fixes #164

Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
2019-02-27 09:54:18 -07:00
Selçuk Usta
e99d0808bf Fixing ./gradlew: Permission denied problem on Dockerfile (#146) 2019-02-15 08:22:48 -08:00
rghetia
741c669c34 adservice: restore old grpc views until new grpc version is released. (#144) 2019-02-14 18:14:42 -08:00
Bogdan Drutu
31df60f050 Updates deps, OC instrumentation, formatting. (#131) 2019-01-30 13:35:03 -08:00
Ahmet Alp Balkan
02b2018b0e
recommendationservice: compile deps from requirements.in (#135)
Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
2019-01-30 00:24:07 -08:00
Megan O'Keefe
1d045de655 productcatalog: introduce configurable latency (#134) 2019-01-29 16:08:24 -08:00
rghetia
3812cf741d fix typo in Stackdriver init method name. (#130) 2019-01-22 10:37:03 -08:00
sebright
2ef073f600 adservice: Add "time" field to JSON log entries. (#129)
The Log4j JsonLayout puts the log entry timestamp in a field named "instant" by
default, but the Stackdriver Logging agent does not understand that field.  The
logging agent instead uses the time that it received the log entry, which is
less accurate and has only second-level precision.

This commit adds a key-value pair to the JsonLayout pattern that can be
understood by the logging agent.  It uses a "time" key as described in
https://cloud.google.com/logging/docs/agent/configuration#timestamp-processing
and formats the timestamp as described in the Protocol Buffer JSON mapping,
https://developers.google.com/protocol-buffers/docs/proto3#json.

Allowing the Stackdriver Logging agent to read the more accurate timestamps
inserted by Log4j is especially important in the adservice, because the logs are
correlated with traces, and it is important to see where each message was logged
on the timeline of the trace.
2019-01-22 09:56:50 -08:00
rghetia
54f0a8d058 add jaeger support for productcatalog and shipping. (#126) 2019-01-22 09:56:39 -08:00
Dustin Ingram
aaf2f8717d Simplify package management for python services (#120)
This PR does a few things:

1. **Removes unnecessary Python dependencies currently being installed for `emailservice`**

    There are quite a few packages being installed that aren't actual dependencies.

2. **Removes a number of related, also unnecessary system-level dependencies for `emailservice`**

    These were a result of the Python dependencies that are unnecessary.

3. **Pins all of the sub-dependencies for `loadgenerator`**

    This is good practice to ensure that things don't break one day in the future when a newer version of an unpinned sub-dependenency is released.

4. **Compile all Python dependencies from `requirements.in` files**

    This is mostly bookkeeping. It allows us to only specify the top-level dependencies we care about in the requirements.in files, which are then compiled to frozen dependencies in the requirements.txt files. This ensures that we only install the dependencies we need, and that we're not missing any unpinned sub-dependencies. It also makes it more clear where our sub-dependencies are coming from.

5. **Switch to -slim images from -alpine**

    Python's built distribution format (wheel) is incompatible with alpine-based images, causing dependencies like `grpcio` to be compiled from scratch, rather than from a pre-built wheel.

    This should improve or possibly fi​x #58, while keeping the image size roughly the same:

    ```
    emailservice          latest           d1b818eabe05        6 seconds ago       286MB
    loadgenerator         latest           4d9b5acbfbbb        6 seconds ago       125MB
    ```
2019-01-11 14:59:27 -08:00
rghetia
2b074f7ff3
Add jaeger export to checkoutservice. (#116)
* Add jaeger export to checkoutservice.

* fix review comments.
2019-01-10 10:25:07 -08:00
rghetia
33ca3b63d8
Unify jaeger enabling method for adservice. (#115) 2019-01-09 05:42:54 -08:00
rghetia
85c7131d43 Add jaeger support for frontend. (#113) 2019-01-08 11:08:20 -08:00
rghetia
d944092100 Add Jaeger support for Adservice. (#111)
This is the first service that exports to jaeger. Others to follow.
Requires jaeger to be instantiated using 

- helm install --name jaeger stable/jaeger-operator
- kubectl apply -f jaeger.yaml

=== jaeger.yaml Content ===
apiVersion: io.jaegertracing/v1alpha1
kind: Jaeger
metadata:
  name: jaeger

Above steps will be added to README in subsequent PR.
2019-01-03 12:56:06 -08:00
Théo Chamley
c91dca764f Toggle bug in ProductCatalogService for demos (#85)
Fixes #84.
2018-12-17 11:06:49 -08:00
Chris Kleinknecht
5272a4d821 Re-enable opencensus python (#103)
Enables tracing in the email and recommendation services, which was disabled in 316db88 because of a memory leak in the stackdriver exporter.

We fixed the leak in https://github.com/googleapis/google-cloud-python/pull/6856. The fix is included in the [0.1.10 release of opencensus-python](https://github.com/census-instrumentation/opencensus-python/releases/tag/v0.1.10).

With this diff, traces show up as expected in stackdriver while running the demo on GKE. Using an `opencensus-python` package version before `0.1.10` causes the email and recommendation services to leak memory until they OOM. Memory use is back to normal (i.e. roughly constant) using the new package version.
2018-12-11 16:15:51 -08:00
rghetia
d69f1a4f25 increase reporting interval. (#96)
also fixed a bug in SD export registration in Ads.
2018-11-14 11:49:17 -08:00
sebright
b221f61f4f adservice: upgrade opencensus-java to 0.17.0. (#93)
0.17.0 is the first stable version of opencensus-contrib-log-correlation-log4j2.
This commit also updates log4j2.xml to work with the new version.
2018-11-05 09:45:34 -08:00