Skip to content

Commit

Permalink
going language first for docs (#241)
Browse files Browse the repository at this point in the history
* going language first for docs

* update docfx

* nit

* Update README.md

Co-authored-by: Reiley Yang <reyang@microsoft.com>

* Update README.md

Co-authored-by: Reiley Yang <reyang@microsoft.com>

* structure table

* update to dotnet

Co-authored-by: Reiley Yang <reyang@microsoft.com>
  • Loading branch information
cartersocha and reyang committed Jul 28, 2022
1 parent 81abfee commit 30689db
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 51 deletions.
19 changes: 2 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,9 @@ your backend as well.

## Architecture

**Online Boutique** is composed of 10 microservices written in different
**Online Boutique** is composed of microservices written in different programming
languages that talk to each other over gRPC. Plus one Load Generator which uses
Locust to fake user traffic.
[Locust](https://locust.io/) to fake user traffic.

```mermaid
graph TD
Expand Down Expand Up @@ -214,21 +214,6 @@ _To view a graph of the desired state of this application [click here](./docs/v1

Find the **Protocol Buffer Definitions** in the `/pb/` directory.

| Service | Language | Description |
| ---------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| [frontend](./src/frontend/README.md) | Go | Exposes an HTTP server to serve the website. Does not require signup/login and generates session IDs for all users automatically. |
| [cartservice](./src/cartservice/README.md) | C# | Stores the items in the user's shopping cart in Redis and retrieves it. |
| [productcatalogservice](./src/productcatalogservice/README.md) | Go | Provides the list of products from a JSON file and ability to search products and get individual products. |
| [currencyservice](./src/currencyservice/README.md) | C++ | Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service. |
| [paymentservice](./src/paymentservice/README.md) | Node.js | Charges the given credit card info (mock) with the given amount and returns a transaction ID. |
| [shippingservice](./src/shippingservice/README.md) | Rust | Gives shipping cost estimates based on the shopping cart. Ships items to the given address (mock) |
| [emailservice](./src/emailservice/README.md) | Ruby | Sends users an order confirmation email (mock). |
| [checkoutservice](./src/checkoutservice/README.md) | Go | Retrieves user cart, prepares order and orchestrates the payment, shipping and the email notification. |
| [recommendationservice](./src/recommendationservice/README.md) | Python | Recommends other products based on what's given in the cart. |
| [adservice](./src/adservice/README.md) | Java | Provides text ads based on given context words. |
| [featureflagservice](./src/featureflagservice/README.md) | Erlang/Elixir | CRUD feature flag service to demonstrate various scenarios like fault injection & how to emit telemetry from a feature flag reliant service. |
| [loadgenerator](./src/loadgenerator/README.md) | Python/Locust | Continuously sends requests imitating realistic user shopping flows to the frontend. |

## Features

- **[Kubernetes](https://kubernetes.io)**: the app is designed to run on
Expand Down
16 changes: 16 additions & 0 deletions docs/service_table.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Service Roles

| Service | Language | Description |
|-----------------------------------------------------------------|---------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| [frontend](../src/frontend/README.md) | Go | Exposes an HTTP server to serve the website. Does not require signup/login and generates session IDs for all users automatically. |
| [cartservice](../src/cartservice/README.md) | DotNet | Stores the items in the user's shopping cart in Redis and retrieves it. |
| [productcatalogservice](../src/productcatalogservice/README.md) | Go | Provides the list of products from a JSON file and ability to search products and get individual products. |
| [currencyservice](../src/currencyservice/README.md) | C++ | Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service. |
| [paymentservice](../src/paymentservice/README.md) | JavaScript | Charges the given credit card info (mock) with the given amount and returns a transaction ID. |
| [shippingservice](../src/shippingservice/README.md) | Rust | Gives shipping cost estimates based on the shopping cart. Ships items to the given address (mock) |
| [emailservice](../src/emailservice/README.md) | Ruby | Sends users an order confirmation email (mock). |
| [checkoutservice](../src/checkoutservice/README.md) | Go | Retrieves user cart, prepares order and orchestrates the payment, shipping and the email notification. |
| [recommendationservice](../src/recommendationservice/README.md) | Python | Recommends other products based on what's given in the cart. |
| [adservice](../src/adservice/README.md) | Java | Provides text ads based on given context words. |
| [featureflagservice](../src/featureflagservice/README.md) | Erlang/Elixir | CRUD feature flag service to demonstrate various scenarios like fault injection & how to emit telemetry from a feature flag reliant service. |
| [loadgenerator](../src/loadgenerator/README.md) | Python/Locust | Continuously sends requests imitating realistic user shopping flows to the frontend. |
84 changes: 50 additions & 34 deletions docs/trace_service_features.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,44 @@

## TOC

- [Ad Service](#ad-service)
- [Cart Service](#cart-service)
- [Checkout Service](#checkout-service)
- [Currency Service](#currency-service)
- [Email Service](#email-service)
- [Feature Flag Service](#feature-flag-service)
- [Frontend Service](#frontend-service)
- [Payment Service](#payment-service)
- [Product Catalog Service](#product-catalog-service)
- [Recommendation Service](#recommendation-service)
- [Shipping Service](#shipping-service)

## OpenTelemetry Feature Set by Services
- [C++](#c)
- [DotNet](#dotnet)
- [Erlang/Elxir](#erlangelixir)
- [Go](#go)
- [Java](#java)
- [JavaScript](#javascript)
- [Python](#python)
- [Ruby](#ruby)
- [Rust](#rust)

## OpenTelemetry Feature Set by Language

### Emoji Legend

- Completed: :100:
- Not Present (Yet): :construction:

### [Ad Service](../src/adservice/README.md)
### C++

#### [Currency Service](../src/currencyservice/README.md)

TBD

### DotNet

#### [Cart Service](../src/cartservice/README.md)

TBD

### [Cart Service](../src/cartservice/README.md)
### Erlang/Elixir

#### [Feature Flag Service](../src/featureflagservice/README.md)

TBD

### [Checkout Service](../src/checkoutservice/README.md)
### Go

#### [Checkout Service](../src/checkoutservice/README.md)

- :100: [Instrumentation
Libraries](https://opentelemetry.io/docs/concepts/instrumenting-library/)
Expand All @@ -43,15 +53,11 @@ TBD
Links](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#links-between-spans)
- :construction: [Baggage](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/baggage/api.md#overview)

### [Currency Service](../src/currencyservice/README.md)

TBD

### [Email Service](../src/emailservice/README.md)
#### [Frontend Service](../src/frontend/README.md)

- :100: [Instrumentation
Libraries](https://opentelemetry.io/docs/concepts/instrumenting-library/)
- :100: [Manual Span
- :construction: [Manual Span
Creation](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#manual-instrumentation)
- :100: [Span Data
Enrichment](https://opentelemetry.io/docs/concepts/glossary/#metadata)
Expand All @@ -61,11 +67,7 @@ TBD
Links](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#links-between-spans)
- :construction: [Baggage](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/baggage/api.md#overview)

### [Feature Flag Service](../src/featureflagservice/README.md)

TBD

### [Frontend Service](../src/frontend/README.md)
#### [Product Catalog Service](../src/productcatalogservice/README.md)

- :100: [Instrumentation
Libraries](https://opentelemetry.io/docs/concepts/instrumenting-library/)
Expand All @@ -79,7 +81,15 @@ TBD
Links](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#links-between-spans)
- :construction: [Baggage](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/baggage/api.md#overview)

### [Payment Service](../src/paymentservice/README.md)
### Java

#### [Ad Service](../src/adservice/README.md)

TBD

### JavaScript

#### [Payment Service](../src/paymentservice/README.md)

- :100: [Instrumentation
Libraries](https://opentelemetry.io/docs/concepts/instrumenting-library/)
Expand All @@ -93,11 +103,19 @@ TBD
Links](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#links-between-spans)
- :construction: [Baggage](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/baggage/api.md#overview)

### [Product Catalog Service](../src/productcatalogservice/README.md)
### Python

#### [Recommendation Service](../src/recommendationservice/README.md)

TBD

### Ruby

#### [Email Service](../src/emailservice/README.md)

- :100: [Instrumentation
Libraries](https://opentelemetry.io/docs/concepts/instrumenting-library/)
- :construction: [Manual Span
- :100: [Manual Span
Creation](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#manual-instrumentation)
- :100: [Span Data
Enrichment](https://opentelemetry.io/docs/concepts/glossary/#metadata)
Expand All @@ -107,10 +125,8 @@ TBD
Links](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#links-between-spans)
- :construction: [Baggage](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/baggage/api.md#overview)

### [Recommendation Service](../src/recommendationservice/README.md)

TBD
### Rust

### [Shipping Service](../src/shippingservice/README.md)
#### [Shipping Service](../src/shippingservice/README.md)

TBD

0 comments on commit 30689db

Please sign in to comment.