{{ title }}
4 |{{ body }}
7 |├── .gitignore ├── LICENSE ├── README ├── distributed-tracing └── api-gateway │ ├── README.md │ ├── apigateway │ ├── Dockerfile │ ├── dd-config.json │ ├── install-dd-opentracing-cpp │ └── nginx.conf │ ├── docker-compose.yml │ ├── frontend-go │ ├── Dockerfile │ ├── index.html.tmpl │ └── main.go │ ├── quotes-db │ ├── Dockerfile-postgres │ └── sql │ │ ├── README.md │ │ ├── create_table.sql │ │ ├── import_quotes.sql │ │ └── quotes_data.txt │ ├── quotes-go │ ├── Dockerfile │ └── main.go │ ├── trace_detail.png │ └── trace_list.png ├── go ├── aws │ └── aws-trace-test │ │ └── main.go ├── goa-basic │ ├── README.md │ ├── calc.go │ ├── cmd │ │ ├── calc-cli │ │ │ ├── grpc.go │ │ │ ├── http.go │ │ │ └── main.go │ │ └── calc │ │ │ ├── grpc.go │ │ │ ├── http.go │ │ │ └── main.go │ ├── design │ │ └── design.go │ ├── gen │ │ ├── calc │ │ │ ├── client.go │ │ │ ├── endpoints.go │ │ │ └── service.go │ │ ├── grpc │ │ │ ├── calc │ │ │ │ ├── client │ │ │ │ │ ├── cli.go │ │ │ │ │ ├── client.go │ │ │ │ │ ├── encode_decode.go │ │ │ │ │ └── types.go │ │ │ │ ├── pb │ │ │ │ │ ├── calc.pb.go │ │ │ │ │ └── calc.proto │ │ │ │ └── server │ │ │ │ │ ├── encode_decode.go │ │ │ │ │ ├── server.go │ │ │ │ │ └── types.go │ │ │ └── cli │ │ │ │ └── calc │ │ │ │ └── cli.go │ │ └── http │ │ │ ├── calc │ │ │ ├── client │ │ │ │ ├── cli.go │ │ │ │ ├── client.go │ │ │ │ ├── encode_decode.go │ │ │ │ ├── paths.go │ │ │ │ └── types.go │ │ │ └── server │ │ │ │ ├── encode_decode.go │ │ │ │ ├── paths.go │ │ │ │ ├── server.go │ │ │ │ └── types.go │ │ │ ├── cli │ │ │ └── calc │ │ │ │ └── cli.go │ │ │ ├── openapi.json │ │ │ └── openapi.yaml │ ├── go.mod │ └── go.sum ├── graphql │ └── graphql-trace-test │ │ └── main.go ├── grpc │ ├── grpc-db │ │ ├── README.md │ │ ├── cmd │ │ │ ├── grpc-db-client │ │ │ │ └── main.go │ │ │ ├── grpc-dbsql-server │ │ │ │ └── main.go │ │ │ └── grpc-gorm-server │ │ │ │ └── main.go │ │ ├── docker-compose.yml │ │ ├── docker │ │ │ ├── Dockerfile.grpc-db-client │ │ │ ├── Dockerfile.grpc-dbsql-server │ │ │ └── Dockerfile.grpc-gorm-server │ │ ├── proto │ │ │ └── crud │ │ │ │ ├── crud.go │ │ │ │ ├── crud.pb.go │ │ │ │ └── crud.proto │ │ ├── trace_detail.png │ │ └── trace_list.png │ └── grpc-trace-test │ │ ├── example.proto │ │ ├── example │ │ └── example.pb.go │ │ └── main.go ├── heartbeat │ └── main.go └── sql │ └── mattn │ └── go-sqlite3 │ ├── README.md │ └── main.go ├── javascript ├── .editorconfig ├── .gitignore ├── browser │ └── http │ │ ├── README.md │ │ ├── app │ │ ├── dd_icon_white.svg │ │ ├── index.html │ │ └── style.css │ │ ├── package.json │ │ └── yarn.lock └── node │ └── microservices │ ├── README.md │ ├── api-gateway │ ├── Dockerfile │ ├── package.json │ ├── server.js │ ├── src │ │ ├── app.js │ │ └── logger.js │ └── yarn.lock │ ├── auth │ ├── Dockerfile │ ├── package.json │ ├── server.js │ ├── src │ │ ├── app.js │ │ ├── cache.js │ │ └── logger.js │ └── yarn.lock │ ├── docker-compose.yml │ └── user │ ├── Dockerfile │ ├── package.json │ ├── server.js │ ├── src │ ├── app.js │ ├── db.js │ ├── logger.js │ └── user_repository.js │ └── yarn.lock ├── opentelemetry ├── README.md ├── build.sh ├── docker-compose.yml ├── fluent-bit │ ├── fluent-bit.conf │ └── parsers.conf ├── k8s-collector.yml ├── node-microservice │ ├── .gitignore │ ├── Dockerfile │ ├── index.js │ ├── logger.js │ ├── package.json │ └── tracer.js ├── otel-collector-config.yml ├── python-microservice │ ├── Dockerfile │ ├── __init__.py │ ├── app.py │ ├── ddlogging │ │ └── injection.py │ └── requirements.txt ├── ruby-microservice │ ├── Dockerfile │ ├── Gemfile │ ├── Gemfile.lock │ ├── app.rb │ ├── config.ru │ ├── puma.rb │ ├── redis.yml │ └── views │ │ └── next_launch.erb └── run.sh ├── php ├── .dockerignore ├── .env ├── .gitignore ├── Laravel42 │ ├── .gitattributes │ ├── .gitignore │ ├── Dockerfiles │ │ ├── Dockerfile_php56_apache │ │ ├── Dockerfile_php71_nginx_fpm │ │ ├── Dockerfile_php72_apache_fpm │ │ ├── Dockerfile_php72_nginx_fpm │ │ ├── acpu.ini │ │ ├── apache2-virtualhost.conf │ │ ├── apache2.conf │ │ ├── opcache-extra.ini │ │ ├── opcache.ini │ │ ├── php-dd-ext.ini │ │ ├── php_nginx_default.conf │ │ └── supervisord-nginx-fpm.conf │ ├── README.md │ ├── app │ │ ├── .gitattributes │ │ ├── commands │ │ │ └── .gitkeep │ │ ├── config │ │ │ ├── app.php │ │ │ ├── auth.php │ │ │ ├── cache.php │ │ │ ├── compile.php │ │ │ ├── database.php │ │ │ ├── local │ │ │ │ ├── app.php │ │ │ │ └── database.php │ │ │ ├── mail.php │ │ │ ├── packages │ │ │ │ └── .gitkeep │ │ │ ├── queue.php │ │ │ ├── remote.php │ │ │ ├── services.php │ │ │ ├── session.php │ │ │ ├── testing │ │ │ │ ├── cache.php │ │ │ │ └── session.php │ │ │ ├── view.php │ │ │ └── workbench.php │ │ ├── controllers │ │ │ ├── .gitkeep │ │ │ ├── BaseController.php │ │ │ └── HomeController.php │ │ ├── database │ │ │ ├── migrations │ │ │ │ └── .gitkeep │ │ │ ├── production.sqlite │ │ │ └── seeds │ │ │ │ ├── .gitkeep │ │ │ │ └── DatabaseSeeder.php │ │ ├── filters.php │ │ ├── lang │ │ │ └── en │ │ │ │ ├── pagination.php │ │ │ │ ├── reminders.php │ │ │ │ └── validation.php │ │ ├── models │ │ │ └── User.php │ │ ├── routes.php │ │ ├── start │ │ │ ├── artisan.php │ │ │ ├── global.php │ │ │ └── local.php │ │ ├── storage │ │ │ ├── .gitignore │ │ │ ├── cache │ │ │ │ └── .gitignore │ │ │ ├── logs │ │ │ │ └── .gitignore │ │ │ ├── meta │ │ │ │ └── .gitignore │ │ │ ├── sessions │ │ │ │ └── .gitignore │ │ │ └── views │ │ │ │ └── .gitignore │ │ └── views │ │ │ ├── emails │ │ │ └── auth │ │ │ │ └── reminder.blade.php │ │ │ └── hello.php │ ├── artisan │ ├── bootstrap │ │ ├── autoload.php │ │ ├── paths.php │ │ └── start.php │ ├── composer.json │ ├── docker-compose.yml │ ├── public │ │ ├── .htaccess │ │ ├── favicon.ico │ │ ├── index.php │ │ ├── packages │ │ │ └── .gitkeep │ │ └── robots.txt │ └── server.php ├── Laravel57 │ ├── .editorconfig │ ├── .env.example │ ├── .gitattributes │ ├── .gitignore │ ├── Dockerfiles │ │ ├── Dockerfile_php56_apache │ │ ├── Dockerfile_php71_nginx_fpm │ │ ├── Dockerfile_php72_apache_fpm │ │ ├── Dockerfile_php72_nginx_fpm │ │ ├── acpu.ini │ │ ├── apache2-virtualhost.conf │ │ ├── apache2.conf │ │ ├── opcache-extra.ini │ │ ├── opcache.ini │ │ ├── php-dd-ext.ini │ │ ├── php_nginx_default.conf │ │ └── supervisord-nginx-fpm.conf │ ├── app │ │ ├── .gitattributes │ │ ├── Comment.php │ │ ├── Console │ │ │ └── Kernel.php │ │ ├── Custom │ │ │ ├── AddTen.php │ │ │ └── MultiplyByTwo.php │ │ ├── Exceptions │ │ │ └── Handler.php │ │ ├── Http │ │ │ ├── Controllers │ │ │ │ ├── PdoController.php │ │ │ │ └── SampleController.php │ │ │ └── Kernel.php │ │ ├── Post.php │ │ ├── Providers │ │ │ ├── AppServiceProvider.php │ │ │ ├── AuthServiceProvider.php │ │ │ ├── BroadcastServiceProvider.php │ │ │ ├── EventServiceProvider.php │ │ │ └── RouteServiceProvider.php │ │ └── User.php │ ├── artisan │ ├── bootstrap │ │ ├── app.php │ │ └── cache │ │ │ └── .gitignore │ ├── composer.json │ ├── composer.lock │ ├── config │ │ ├── app.php │ │ ├── auth.php │ │ ├── broadcasting.php │ │ ├── cache.php │ │ ├── database.php │ │ ├── filesystems.php │ │ ├── graphql-playground.php │ │ ├── hashing.php │ │ ├── lighthouse.php │ │ ├── logging.php │ │ ├── mail.php │ │ ├── queue.php │ │ ├── services.php │ │ ├── session.php │ │ └── view.php │ ├── database │ │ ├── .gitignore │ │ ├── factories │ │ │ └── UserFactory.php │ │ ├── migrations │ │ │ ├── 2014_10_12_000000_create_users_table.php │ │ │ ├── 2014_10_12_100000_create_password_resets_table.php │ │ │ ├── 2019_02_19_133634_create_posts_table.php │ │ │ └── 2019_02_19_133739_create_comments_table.php │ │ └── seeds │ │ │ └── DatabaseSeeder.php │ ├── docker-compose.yml │ ├── html │ │ └── index.html │ ├── libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb │ ├── package.json │ ├── public │ │ ├── .htaccess │ │ ├── css │ │ │ └── app.css │ │ ├── favicon.ico │ │ ├── index.php │ │ ├── js │ │ │ └── app.js │ │ ├── robots.txt │ │ ├── svg │ │ │ ├── 403.svg │ │ │ ├── 404.svg │ │ │ ├── 500.svg │ │ │ └── 503.svg │ │ └── web.config │ ├── readme.md │ ├── resources │ │ ├── js │ │ │ ├── app.js │ │ │ ├── bootstrap.js │ │ │ └── components │ │ │ │ └── ExampleComponent.vue │ │ ├── lang │ │ │ └── en │ │ │ │ ├── auth.php │ │ │ │ ├── pagination.php │ │ │ │ ├── passwords.php │ │ │ │ └── validation.php │ │ ├── sass │ │ │ ├── _variables.scss │ │ │ └── app.scss │ │ └── views │ │ │ └── welcome.blade.php │ ├── routes │ │ ├── api.php │ │ ├── channels.php │ │ ├── console.php │ │ ├── graphql │ │ │ └── schema.graphql │ │ └── web.php │ ├── server.php │ ├── storage │ │ ├── app │ │ │ ├── .gitignore │ │ │ └── public │ │ │ │ └── .gitignore │ │ ├── framework │ │ │ ├── .gitignore │ │ │ ├── cache │ │ │ │ ├── .gitignore │ │ │ │ └── data │ │ │ │ │ └── .gitignore │ │ │ ├── sessions │ │ │ │ └── .gitignore │ │ │ ├── testing │ │ │ │ └── .gitignore │ │ │ └── views │ │ │ │ └── .gitignore │ │ └── logs │ │ │ └── .gitignore │ └── webpack.mix.js ├── Slim4OtelDropIn │ ├── Dockerfile │ ├── README.md │ ├── collector │ │ └── config.yaml │ ├── docker-compose.yml │ ├── screenshots │ │ ├── distributed-dd-trace.png │ │ ├── distributed-otel-dd-trace.png │ │ └── distributed-otel-trace.png │ └── src │ │ ├── composer.json │ │ ├── composer.lock │ │ └── index.php └── Symfony34 │ ├── .gitattributes │ ├── .gitignore │ ├── Dockerfiles │ ├── Dockerfile_php56_apache │ ├── Dockerfile_php71_nginx_fpm │ ├── Dockerfile_php72_apache_fpm │ ├── Dockerfile_php72_nginx_fpm │ ├── acpu.ini │ ├── apache2-virtualhost.conf │ ├── apache2.conf │ ├── opcache-extra.ini │ ├── opcache.ini │ ├── php-dd-ext.ini │ ├── php_nginx_default.conf │ └── supervisord-nginx-fpm.conf │ ├── LICENSE │ ├── app │ ├── .htaccess │ ├── AppCache.php │ ├── AppKernel.php │ ├── Resources │ │ └── views │ │ │ ├── base.html.twig │ │ │ └── default │ │ │ └── index.html.twig │ └── config │ │ ├── config.yml │ │ ├── config_dev.yml │ │ ├── config_prod.yml │ │ ├── config_test.yml │ │ ├── parameters.yml.dist │ │ ├── routing.yml │ │ ├── routing_dev.yml │ │ ├── security.yml │ │ └── services.yml │ ├── bin │ ├── console │ └── symfony_requirements │ ├── composer.json │ ├── composer.lock │ ├── docker-compose.yml │ ├── public │ ├── .htaccess │ ├── apple-touch-icon.png │ ├── config.php │ ├── favicon.ico │ ├── index.php │ └── robots.txt │ ├── src │ ├── .htaccess │ └── AppBundle │ │ ├── AppBundle.php │ │ └── Controller │ │ └── DefaultController.php │ └── var │ ├── SymfonyRequirements.php │ ├── cache │ └── .gitkeep │ ├── logs │ └── .gitkeep │ └── sessions │ └── .gitkeep ├── python ├── .gitignore ├── README.md ├── aiohttp │ ├── LICENSE │ ├── polls │ │ ├── aiohttpdemo_polls │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── db.py │ │ │ ├── main.py │ │ │ ├── middlewares.py │ │ │ ├── routes.py │ │ │ ├── static │ │ │ │ └── style.css │ │ │ ├── templates │ │ │ │ ├── 404.html │ │ │ │ ├── 500.html │ │ │ │ ├── base.html │ │ │ │ ├── detail.html │ │ │ │ ├── index.html │ │ │ │ └── results.html │ │ │ ├── utils.py │ │ │ └── views.py │ │ ├── config │ │ │ └── polls.yaml │ │ ├── docker-compose.yml │ │ ├── requirements.txt │ │ ├── setup.py │ │ └── sql │ │ │ ├── create_db.sh │ │ │ ├── create_tables.sql │ │ │ └── sample_data.sql │ └── simple_app │ │ ├── Procfile │ │ ├── README.md │ │ ├── requirements.txt │ │ ├── runtime.txt │ │ ├── server.py │ │ └── statics │ │ └── empty.txt ├── aiopg │ ├── README.md │ ├── aiopg_example.py │ ├── docker-compose.yml │ └── requirements.txt ├── asgi │ ├── README.md │ ├── app.py │ └── images │ │ └── image1.png ├── async │ └── README.rst ├── asyncio │ ├── Procfile │ ├── README.md │ ├── docker-compose.yml │ ├── http_async_server.py │ ├── requirements.txt │ └── runtime.txt ├── bottle │ ├── README.md │ ├── bottle_example.py │ └── requirements.txt ├── celery4.1 │ ├── .gitignore │ ├── Pipfile │ ├── Pipfile.lock │ ├── README.md │ ├── consumer.py │ ├── docker-compose.yml │ └── producer.py ├── cyclone │ ├── Dockerfile │ ├── app.py │ ├── docker-compose.yml │ ├── hello.html │ ├── post.html │ ├── posts.html │ └── requirements.txt ├── django │ ├── django-realworld │ │ ├── README.md │ │ ├── django-realworld-example-app │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── README.md │ │ │ ├── conduit │ │ │ │ ├── __init__.py │ │ │ │ ├── apps │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── articles │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── migrations │ │ │ │ │ │ │ ├── 0001_initial.py │ │ │ │ │ │ │ ├── 0002_comment.py │ │ │ │ │ │ │ ├── 0003_auto_20160828_1656.py │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ ├── models.py │ │ │ │ │ │ ├── relations.py │ │ │ │ │ │ ├── renderers.py │ │ │ │ │ │ ├── serializers.py │ │ │ │ │ │ ├── signals.py │ │ │ │ │ │ ├── urls.py │ │ │ │ │ │ └── views.py │ │ │ │ │ ├── authentication │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── backends.py │ │ │ │ │ │ ├── migrations │ │ │ │ │ │ │ ├── 0001_initial.py │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ ├── models.py │ │ │ │ │ │ ├── renderers.py │ │ │ │ │ │ ├── serializers.py │ │ │ │ │ │ ├── signals.py │ │ │ │ │ │ ├── urls.py │ │ │ │ │ │ └── views.py │ │ │ │ │ ├── core │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── exceptions.py │ │ │ │ │ │ ├── models.py │ │ │ │ │ │ ├── renderers.py │ │ │ │ │ │ └── utils.py │ │ │ │ │ └── profiles │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── exceptions.py │ │ │ │ │ │ ├── migrations │ │ │ │ │ │ ├── 0001_initial.py │ │ │ │ │ │ ├── 0002_profile_follows.py │ │ │ │ │ │ ├── 0003_profile_favorites.py │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ ├── models.py │ │ │ │ │ │ ├── renderers.py │ │ │ │ │ │ ├── serializers.py │ │ │ │ │ │ ├── urls.py │ │ │ │ │ │ └── views.py │ │ │ │ ├── settings.py │ │ │ │ ├── urls.py │ │ │ │ └── wsgi.py │ │ │ ├── manage.py │ │ │ ├── project-logo.png │ │ │ └── requirements.txt │ │ ├── docker-compose.yml │ │ └── realworld │ │ │ └── Dockerfile │ └── django-tutorial │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── docker-compose.yml │ │ ├── mysite │ │ ├── manage.py │ │ ├── mysite │ │ │ ├── __init__.py │ │ │ ├── settings.py │ │ │ ├── urls.py │ │ │ └── wsgi.py │ │ └── polls │ │ │ ├── __init__.py │ │ │ ├── admin.py │ │ │ ├── apps.py │ │ │ ├── migrations │ │ │ └── __init__.py │ │ │ ├── models.py │ │ │ ├── templates │ │ │ └── polls │ │ │ │ ├── detail.html │ │ │ │ ├── index.html │ │ │ │ └── results.html │ │ │ ├── tests.py │ │ │ ├── urls.py │ │ │ └── views.py │ │ └── requirements.txt ├── docker-compose.yml ├── falcon │ ├── Rakefile │ ├── demo.py │ └── requirements.txt ├── fastapi │ ├── Dockerfile │ ├── README.md │ ├── app.py │ ├── images │ │ ├── image1.png │ │ └── image2.png │ └── requirements.txt ├── flask-baggage │ ├── Pipfile │ ├── Pipfile.lock │ ├── README.md │ └── app.py ├── flask │ ├── Pipfile │ ├── Pipfile.lock │ ├── README.md │ ├── app │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blueprint.py │ │ ├── config.py │ │ ├── exceptions.py │ │ ├── limiter.py │ │ ├── signals.py │ │ ├── static │ │ │ ├── bulma.min.css │ │ │ └── test.txt │ │ └── templates │ │ │ ├── index.jinja2 │ │ │ └── layout.jinja2 │ └── run.py ├── grpc │ ├── README.md │ ├── demo_grpc.py │ ├── hello.proto │ ├── hello_pb2.py │ ├── hello_pb2_grpc.py │ ├── requirements.txt │ └── server_grpc.py ├── kombu │ ├── .gitignore │ ├── Pipfile │ ├── Pipfile.lock │ ├── README.md │ ├── consume.py │ ├── consumer.py │ ├── docker-compose.yml │ └── producer.py ├── mysql │ ├── demo_mysqlconnector.py │ └── demo_mysqldb.py ├── opentracing │ ├── README.md │ ├── django │ │ ├── README.md │ │ ├── client │ │ │ ├── __init__.py │ │ │ ├── apps.py │ │ │ ├── tests.py │ │ │ ├── urls.py │ │ │ └── views.py │ │ ├── example_site │ │ │ ├── __init__.py │ │ │ ├── settings.py │ │ │ ├── urls.py │ │ │ ├── views.py │ │ │ └── wsgi.py │ │ ├── manage.py │ │ ├── requirements.txt │ │ └── server │ │ │ ├── __init__.py │ │ │ ├── apps.py │ │ │ ├── tests.py │ │ │ ├── urls.py │ │ │ └── views.py │ ├── laundry │ │ ├── .gitignore │ │ ├── README.md │ │ ├── laundry.py │ │ ├── requirements.txt │ │ └── resources │ │ │ └── trace.png │ └── walkthrough │ │ ├── .gitignore │ │ ├── 1_first_trace.py │ │ ├── README.md │ │ ├── requirements.txt │ │ └── resources │ │ ├── first_trace.png │ │ └── first_trace_listing.png ├── pylibmc │ ├── README.md │ ├── docker-compose.yml │ ├── pylibmc_example.py │ └── requirements.txt ├── pymemcache │ ├── .gitignore │ ├── README.md │ ├── docker-compose.yml │ ├── requirements.txt │ └── simple_manual.py ├── pymongo │ └── demo.py ├── pynamodb │ ├── Dockerfile │ ├── README.md │ ├── docker-compose.yml │ ├── images │ │ └── example_get_item.png │ └── pynamodb-test │ │ ├── blog.py │ │ └── index.py ├── pyramid │ ├── .gitignore │ ├── README.md │ ├── requirements.txt │ ├── schema.sql │ ├── static │ │ └── style.css │ ├── tasks.py │ └── templates │ │ ├── layout.mako │ │ ├── list.mako │ │ ├── new.mako │ │ └── notfound.mako ├── rq │ ├── .gitignore │ ├── README.md │ ├── app.py │ ├── docker-compose.yml │ ├── jobs.py │ └── requirements.txt ├── sample_app.py ├── sanic │ ├── Dockerfile │ ├── README.md │ ├── app.py │ ├── docker-compose.yml │ ├── images │ │ ├── image1.png │ │ └── image2.png │ ├── requirements.txt │ └── templates │ │ └── index.html ├── starlette │ ├── README.md │ ├── app.py │ ├── docs │ │ ├── 404.png │ │ ├── 500.png │ │ └── index.png │ ├── requirements.txt │ ├── statics │ │ ├── css │ │ │ ├── bootstrap.min.css │ │ │ └── jumbotron.css │ │ └── js │ │ │ ├── bootstrap.min.js │ │ │ ├── jquery-3.3.1.slim.min.js │ │ │ └── popper.min.js │ └── templates │ │ ├── 200.html │ │ ├── 404.html │ │ ├── 500.html │ │ ├── base.html │ │ └── index.html ├── tornado4 │ ├── Procfile │ ├── README.md │ ├── docker-compose.yml │ ├── requirements.in │ ├── requirements.txt │ ├── runtime.txt │ ├── server.py │ └── statics │ │ └── empty.txt ├── tornado6-blog │ ├── Dockerfile │ ├── README │ ├── README.md │ ├── blog.py │ ├── docker-compose.yml │ ├── requirements.txt │ ├── schema.sql │ ├── static │ │ └── blog.css │ └── templates │ │ ├── archive.html │ │ ├── base.html │ │ ├── compose.html │ │ ├── create_author.html │ │ ├── entry.html │ │ ├── feed.xml │ │ ├── home.html │ │ ├── login.html │ │ └── modules │ │ └── entry.html ├── tornado6 │ ├── Procfile │ ├── README.md │ ├── docker-compose.yml │ ├── requirements.in │ ├── requirements.txt │ ├── runtime.txt │ ├── server.py │ └── statics │ │ └── empty.txt └── vertica │ ├── .gitignore │ ├── README.md │ ├── docker-compose.yml │ ├── requirements.txt │ └── vertica_example.py ├── ruby ├── dalli │ ├── .envrc.sample │ ├── .gitignore │ ├── Dockerfile │ ├── Gemfile │ ├── Gemfile.lock │ ├── Procfile │ ├── README.md │ ├── Rakefile │ ├── app │ │ ├── api │ │ │ └── api.rb │ │ ├── assets │ │ │ ├── images │ │ │ │ └── rails.png │ │ │ ├── javascripts │ │ │ │ ├── application.js │ │ │ │ ├── comments.js.coffee │ │ │ │ ├── home.js.coffee │ │ │ │ └── posts.js.coffee │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── comments.css.scss │ │ │ │ ├── home.css.scss │ │ │ │ ├── posts.css.scss │ │ │ │ └── scaffolds.css.scss │ │ ├── controllers │ │ │ ├── application_controller.rb │ │ │ ├── comments_controller.rb │ │ │ ├── home_controller.rb │ │ │ └── posts_controller.rb │ │ ├── helpers │ │ │ ├── application_helper.rb │ │ │ ├── comments_helper.rb │ │ │ ├── home_helper.rb │ │ │ └── posts_helper.rb │ │ ├── mailers │ │ │ └── .gitkeep │ │ ├── models │ │ │ ├── .gitkeep │ │ │ ├── comment.rb │ │ │ └── post.rb │ │ └── views │ │ │ ├── comments │ │ │ ├── _comment.html.erb │ │ │ └── _form.html.erb │ │ │ ├── home │ │ │ └── index.html.erb │ │ │ ├── layouts │ │ │ └── application.html.erb │ │ │ └── posts │ │ │ ├── _form.html.erb │ │ │ ├── edit.html.erb │ │ │ ├── index.html.erb │ │ │ ├── new.html.erb │ │ │ └── show.html.erb │ ├── config.ru │ ├── config │ │ ├── application.rb │ │ ├── boot.rb │ │ ├── database.yml │ │ ├── environment.rb │ │ ├── environments │ │ │ ├── development.rb │ │ │ ├── production.rb │ │ │ └── test.rb │ │ ├── initializers │ │ │ ├── backtrace_silencers.rb │ │ │ ├── datadog.rb │ │ │ ├── inflections.rb │ │ │ ├── mime_types.rb │ │ │ ├── session_store.rb │ │ │ └── wrap_parameters.rb │ │ ├── locales │ │ │ └── en.yml │ │ ├── routes.rb │ │ └── unicorn.rb │ ├── db │ │ ├── migrate │ │ │ ├── 20161030175305_create_posts.rb │ │ │ ├── 20161030181809_create_comments.rb │ │ │ ├── 20161123151236_create_delayed_jobs.rb │ │ │ └── 20170316112735_add_sessions_table.rb │ │ ├── schema.rb │ │ └── seeds.rb │ ├── docker-compose.yml │ ├── lib │ │ ├── assets │ │ │ └── .gitkeep │ │ └── tasks │ │ │ └── .gitkeep │ ├── public │ │ ├── 404.html │ │ ├── 422.html │ │ ├── 500.html │ │ ├── favicon.ico │ │ └── robots.txt │ ├── script │ │ ├── delayed_job │ │ └── rails │ ├── test │ │ ├── fixtures │ │ │ ├── .gitkeep │ │ │ ├── comments.yml │ │ │ └── posts.yml │ │ ├── functional │ │ │ ├── .gitkeep │ │ │ ├── comments_controller_test.rb │ │ │ ├── home_controller_test.rb │ │ │ └── posts_controller_test.rb │ │ ├── integration │ │ │ └── .gitkeep │ │ ├── performance │ │ │ └── browsing_test.rb │ │ ├── test_helper.rb │ │ └── unit │ │ │ ├── .gitkeep │ │ │ ├── comment_test.rb │ │ │ ├── helpers │ │ │ ├── comments_helper_test.rb │ │ │ ├── home_helper_test.rb │ │ │ └── posts_helper_test.rb │ │ │ └── post_test.rb │ └── vendor │ │ ├── assets │ │ ├── javascripts │ │ │ └── .gitkeep │ │ └── stylesheets │ │ │ └── .gitkeep │ │ └── plugins │ │ └── .gitkeep ├── mongoid │ ├── .envrc.sample │ ├── .gitignore │ ├── Dockerfile │ ├── Gemfile │ ├── Gemfile.lock │ ├── README.md │ ├── Rakefile │ ├── app │ │ ├── controllers │ │ │ ├── application_controller.rb │ │ │ └── document_controller.rb │ │ ├── models │ │ │ └── person.rb │ │ └── views │ │ │ ├── document │ │ │ ├── add.html.erb │ │ │ └── index.html.erb │ │ │ └── layouts │ │ │ └── application.html.erb │ ├── bin │ │ ├── bundle │ │ ├── rails │ │ ├── rake │ │ ├── setup │ │ └── spring │ ├── config.ru │ ├── config │ │ ├── application.rb │ │ ├── boot.rb │ │ ├── environment.rb │ │ ├── environments │ │ │ └── development.rb │ │ ├── initializers │ │ │ ├── cookies_serializer.rb │ │ │ ├── datadog.rb │ │ │ ├── filter_parameter_logging.rb │ │ │ ├── session_store.rb │ │ │ ├── to_time_preserves_timezone.rb │ │ │ └── wrap_parameters.rb │ │ ├── mongoid.yml │ │ ├── routes.rb │ │ ├── secrets.yml │ │ └── unicorn.rb │ └── docker-compose.yml ├── rails │ ├── .envrc.sample │ ├── .gitignore │ ├── Dockerfile │ ├── Gemfile │ ├── Gemfile.lock │ ├── Procfile │ ├── README.md │ ├── Rakefile │ ├── app │ │ ├── api │ │ │ └── api.rb │ │ ├── assets │ │ │ ├── images │ │ │ │ └── rails.png │ │ │ ├── javascripts │ │ │ │ ├── application.js │ │ │ │ ├── comments.js.coffee │ │ │ │ ├── home.js.coffee │ │ │ │ └── posts.js.coffee │ │ │ └── stylesheets │ │ │ │ ├── application.css │ │ │ │ ├── comments.css.scss │ │ │ │ ├── home.css.scss │ │ │ │ ├── posts.css.scss │ │ │ │ └── scaffolds.css.scss │ │ ├── controllers │ │ │ ├── application_controller.rb │ │ │ ├── comments_controller.rb │ │ │ ├── home_controller.rb │ │ │ └── posts_controller.rb │ │ ├── helpers │ │ │ ├── application_helper.rb │ │ │ ├── comments_helper.rb │ │ │ ├── home_helper.rb │ │ │ └── posts_helper.rb │ │ ├── mailers │ │ │ └── .gitkeep │ │ ├── models │ │ │ ├── .gitkeep │ │ │ ├── comment.rb │ │ │ └── post.rb │ │ └── views │ │ │ ├── comments │ │ │ ├── _comment.html.erb │ │ │ └── _form.html.erb │ │ │ ├── home │ │ │ └── index.html.erb │ │ │ ├── layouts │ │ │ └── application.html.erb │ │ │ └── posts │ │ │ ├── _form.html.erb │ │ │ ├── edit.html.erb │ │ │ ├── index.html.erb │ │ │ ├── new.html.erb │ │ │ └── show.html.erb │ ├── config.ru │ ├── config │ │ ├── application.rb │ │ ├── boot.rb │ │ ├── database.yml │ │ ├── environment.rb │ │ ├── environments │ │ │ ├── development.rb │ │ │ ├── production.rb │ │ │ └── test.rb │ │ ├── initializers │ │ │ ├── backtrace_silencers.rb │ │ │ ├── datadog.rb │ │ │ ├── inflections.rb │ │ │ ├── mime_types.rb │ │ │ ├── session_store.rb │ │ │ └── wrap_parameters.rb │ │ ├── locales │ │ │ └── en.yml │ │ ├── routes.rb │ │ └── unicorn.rb │ ├── db │ │ ├── migrate │ │ │ ├── 20161030175305_create_posts.rb │ │ │ ├── 20161030181809_create_comments.rb │ │ │ ├── 20161123151236_create_delayed_jobs.rb │ │ │ └── 20170316112735_add_sessions_table.rb │ │ ├── schema.rb │ │ └── seeds.rb │ ├── docker-compose.yml │ ├── lib │ │ ├── assets │ │ │ └── .gitkeep │ │ └── tasks │ │ │ └── .gitkeep │ ├── public │ │ ├── 404.html │ │ ├── 422.html │ │ ├── 500.html │ │ ├── favicon.ico │ │ └── robots.txt │ ├── script │ │ ├── delayed_job │ │ └── rails │ ├── test │ │ ├── fixtures │ │ │ ├── .gitkeep │ │ │ ├── comments.yml │ │ │ └── posts.yml │ │ ├── functional │ │ │ ├── .gitkeep │ │ │ ├── comments_controller_test.rb │ │ │ ├── home_controller_test.rb │ │ │ └── posts_controller_test.rb │ │ ├── integration │ │ │ └── .gitkeep │ │ ├── performance │ │ │ └── browsing_test.rb │ │ ├── test_helper.rb │ │ └── unit │ │ │ ├── .gitkeep │ │ │ ├── comment_test.rb │ │ │ ├── helpers │ │ │ ├── comments_helper_test.rb │ │ │ ├── home_helper_test.rb │ │ │ └── posts_helper_test.rb │ │ │ └── post_test.rb │ └── vendor │ │ ├── assets │ │ ├── javascripts │ │ │ └── .gitkeep │ │ └── stylesheets │ │ │ └── .gitkeep │ │ └── plugins │ │ └── .gitkeep ├── sample_app.rb ├── sidekiq │ ├── .envrc.sample │ ├── .gitignore │ ├── Dockerfile │ ├── Gemfile │ ├── Gemfile.lock │ ├── Procfile │ ├── README.md │ ├── app.rb │ ├── docker-compose.yml │ ├── job.rb │ ├── public │ │ └── js │ │ │ └── app.js │ └── views │ │ ├── jobs.erb │ │ ├── jobs_fragment.erb │ │ └── layout.erb └── sinatra │ ├── .envrc.sample │ ├── .gitignore │ ├── Dockerfile │ ├── Gemfile │ ├── Gemfile.lock │ ├── Procfile │ ├── README.md │ ├── app.rb │ ├── docker-compose.yml │ ├── post.rb │ ├── public │ └── js │ │ └── app.js │ └── views │ ├── layout.erb │ ├── posts.erb │ └── posts_fragment.erb └── rust ├── LICENSE ├── README.md ├── ddotelexporter-config.yml ├── ddotelexportertransformed-config.yml ├── docker-compose.yml └── rust-app ├── .dockerignore ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE-3rdparty.yml ├── rust-toolchain.toml └── src ├── main.rs ├── otel.rs └── tracing.rs /README: -------------------------------------------------------------------------------- 1 | A collection of Datadog tracing (APM) examples. 2 | 3 | Install Guide: https://app.datadoghq.com/apm/service-setup 4 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/apigateway/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM opentracing/nginx-opentracing 2 | RUN apt update && apt -y install curl jq 3 | COPY install-dd-opentracing-cpp / 4 | RUN /install-dd-opentracing-cpp 5 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/apigateway/dd-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "service": "api", 3 | "operation_name_override": "nginx.handle", 4 | "agent_host": "datadog-agent", 5 | "agent_port": 8126 6 | } 7 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/apigateway/install-dd-opentracing-cpp: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if ! release_data=$(curl -fL https://api.github.com/repos/DataDog/dd-opentracing-cpp/releases/latest); then 3 | echo "error retrieving release info for dd-opentracing-cpp" 4 | exit 1 5 | fi 6 | if ! release_url=$(jq -r '.assets[] | select(.name == "linux-amd64-libdd_opentracing_plugin.so.gz") | .browser_download_url' <<< "$release_data"); then 7 | echo "error parsing release info for dd-opentracing-cpp" 8 | exit 1 9 | fi 10 | if ! curl -fL "$release_url" | gunzip -c > /usr/local/lib/libdd_opentracing_plugin.so; then 11 | echo "error installing dd-opentracing-cpp release from $release_url" 12 | exit 1 13 | fi 14 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/frontend-go/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.12 AS build 2 | ADD *.go /go/src/frontend/ 3 | RUN go get -d frontend && go install frontend 4 | 5 | FROM debian:stretch-slim 6 | COPY --from=build /go/bin/frontend /bin/frontend 7 | ENTRYPOINT ["/bin/frontend"] 8 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/frontend-go/index.html.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |{{ . }}9 | 10 | 11 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/quotes-db/Dockerfile-postgres: -------------------------------------------------------------------------------- 1 | FROM postgres:11 2 | COPY sql/create_table.sql /docker-entrypoint-initdb.d/01_create_table.sql 3 | COPY sql/import_quotes.sql /docker-entrypoint-initdb.d/02_import_quotes.sql 4 | COPY sql/quotes_data.txt /quotes_data.txt 5 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/quotes-db/sql/README.md: -------------------------------------------------------------------------------- 1 | # Attribution 2 | 3 | Quotes in this example webapp were sourced from 4 | https://github.com/AntJanus/programmers-proverbs/blob/48a5c7efdd45c2187bc3f7f924bcc228e9db7212/README.md#proverbs 5 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/quotes-db/sql/create_table.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS quotes ( 2 | id BIGSERIAL PRIMARY KEY, 3 | text TEXT NOT NULL CHECK (text <> '') 4 | ); 5 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/quotes-db/sql/import_quotes.sql: -------------------------------------------------------------------------------- 1 | COPY quotes(text) FROM '/quotes_data.txt'; 2 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/quotes-go/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.12 AS build 2 | ADD *.go /go/src/quotes/ 3 | RUN go get -d quotes && go install quotes 4 | 5 | FROM debian:stretch-slim 6 | COPY --from=build /go/bin/quotes /bin/quotes 7 | ENTRYPOINT ["/bin/quotes"] 8 | -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/trace_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/trace-examples/dbee48790ac84c078867afc313b4cfbca7693d7b/distributed-tracing/api-gateway/trace_detail.png -------------------------------------------------------------------------------- /distributed-tracing/api-gateway/trace_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/trace-examples/dbee48790ac84c078867afc313b4cfbca7693d7b/distributed-tracing/api-gateway/trace_list.png -------------------------------------------------------------------------------- /go/goa-basic/calc.go: -------------------------------------------------------------------------------- 1 | package calc 2 | 3 | import ( 4 | "context" 5 | "log" 6 | 7 | calcsvc "github.com/DataDog/trace-examples/go/goa-basic/gen/calc" 8 | ) 9 | 10 | // calc service example implementation. 11 | // The example methods log the requests and return zero values. 12 | type calcSvc struct { 13 | logger *log.Logger 14 | } 15 | 16 | // NewCalc returns the calc service implementation. 17 | func NewCalc(logger *log.Logger) calcsvc.Service { 18 | return &calcSvc{logger} 19 | } 20 | 21 | // Add implements add. 22 | func (s *calcSvc) Add(ctx context.Context, p *calcsvc.AddPayload) (int, error) { 23 | return p.A + p.B, nil 24 | } 25 | -------------------------------------------------------------------------------- /go/goa-basic/gen/grpc/calc/pb/calc.proto: -------------------------------------------------------------------------------- 1 | // Code generated with goa v3.1.1, DO NOT EDIT. 2 | // 3 | // calc protocol buffer definition 4 | // 5 | // Command: 6 | // $ goa gen goa.design/examples/basic/design -o 7 | // $(GOPATH)/src/goa.design/examples/basic 8 | 9 | syntax = "proto3"; 10 | 11 | package calc; 12 | 13 | option go_package = "calcpb"; 14 | 15 | // The calc service performs operations on numbers 16 | service Calc { 17 | // Add implements add. 18 | rpc Add (AddRequest) returns (AddResponse); 19 | } 20 | 21 | message AddRequest { 22 | // Left operand 23 | sint32 a = 1; 24 | // Right operand 25 | sint32 b = 2; 26 | } 27 | 28 | message AddResponse { 29 | sint32 field = 1; 30 | } 31 | -------------------------------------------------------------------------------- /go/goa-basic/gen/http/calc/client/paths.go: -------------------------------------------------------------------------------- 1 | // Code generated by goa v3.1.1, DO NOT EDIT. 2 | // 3 | // HTTP request path constructors for the calc service. 4 | // 5 | // Command: 6 | // $ goa gen github.com/DataDog/trace-examples/go/goa-basic/design -o 7 | // $(GOPATH)/src/github.com/DataDog/trace-examples/go/goa-basic 8 | 9 | package client 10 | 11 | import ( 12 | "fmt" 13 | ) 14 | 15 | // AddCalcPath returns the URL path to the calc service add HTTP endpoint. 16 | func AddCalcPath(a int, b int) string { 17 | return fmt.Sprintf("/add/%v/%v", a, b) 18 | } 19 | -------------------------------------------------------------------------------- /go/goa-basic/gen/http/calc/client/types.go: -------------------------------------------------------------------------------- 1 | // Code generated by goa v3.1.1, DO NOT EDIT. 2 | // 3 | // calc HTTP client types 4 | // 5 | // Command: 6 | // $ goa gen github.com/DataDog/trace-examples/go/goa-basic/design -o 7 | // $(GOPATH)/src/github.com/DataDog/trace-examples/go/goa-basic 8 | 9 | package client 10 | -------------------------------------------------------------------------------- /go/goa-basic/gen/http/calc/server/paths.go: -------------------------------------------------------------------------------- 1 | // Code generated by goa v3.1.1, DO NOT EDIT. 2 | // 3 | // HTTP request path constructors for the calc service. 4 | // 5 | // Command: 6 | // $ goa gen github.com/DataDog/trace-examples/go/goa-basic/design -o 7 | // $(GOPATH)/src/github.com/DataDog/trace-examples/go/goa-basic 8 | 9 | package server 10 | 11 | import ( 12 | "fmt" 13 | ) 14 | 15 | // AddCalcPath returns the URL path to the calc service add HTTP endpoint. 16 | func AddCalcPath(a int, b int) string { 17 | return fmt.Sprintf("/add/%v/%v", a, b) 18 | } 19 | -------------------------------------------------------------------------------- /go/goa-basic/gen/http/calc/server/types.go: -------------------------------------------------------------------------------- 1 | // Code generated by goa v3.1.1, DO NOT EDIT. 2 | // 3 | // calc HTTP server types 4 | // 5 | // Command: 6 | // $ goa gen github.com/DataDog/trace-examples/go/goa-basic/design -o 7 | // $(GOPATH)/src/github.com/DataDog/trace-examples/go/goa-basic 8 | 9 | package server 10 | 11 | import ( 12 | calc "github.com/DataDog/trace-examples/go/goa-basic/gen/calc" 13 | ) 14 | 15 | // NewAddPayload builds a calc service add endpoint payload. 16 | func NewAddPayload(a int, b int) *calc.AddPayload { 17 | v := &calc.AddPayload{} 18 | v.A = a 19 | v.B = b 20 | 21 | return v 22 | } 23 | -------------------------------------------------------------------------------- /go/goa-basic/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/DataDog/trace-examples/go/goa-basic 2 | 3 | go 1.14 4 | 5 | require ( 6 | github.com/DataDog/datadog-go v3.5.0+incompatible // indirect 7 | github.com/dimfeld/httptreemux v5.0.1+incompatible // indirect 8 | github.com/golang/protobuf v1.3.4 9 | github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 10 | github.com/philhofer/fwd v1.0.0 // indirect 11 | github.com/tinylib/msgp v1.1.2 // indirect 12 | goa.design/examples v2.1.1+incompatible 13 | goa.design/goa v2.1.1+incompatible // indirect 14 | goa.design/goa/v3 v3.1.1 15 | golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect 16 | google.golang.org/grpc v1.28.0 17 | gopkg.in/DataDog/dd-trace-go.v1 v1.22.0 18 | ) 19 | -------------------------------------------------------------------------------- /go/grpc/grpc-db/docker/Dockerfile.grpc-db-client: -------------------------------------------------------------------------------- 1 | FROM golang:1.12 AS build 2 | ADD cmd/grpc-db-client/ /go/src/github.com/DataDog/trace-examples/go/grpc/grpc-db/cmd/grpc-db-client/ 3 | ADD proto/ /go/src/github.com/DataDog/trace-examples/go/grpc/grpc-db/proto/ 4 | RUN go get -d github.com/DataDog/trace-examples/go/grpc/grpc-db/cmd/grpc-db-client && go install github.com/DataDog/trace-examples/go/grpc/grpc-db/cmd/grpc-db-client 5 | 6 | FROM debian:stretch-slim 7 | COPY --from=build /go/bin/grpc-db-client /grpc-db-client 8 | ENTRYPOINT ["/grpc-db-client"] 9 | -------------------------------------------------------------------------------- /go/grpc/grpc-db/docker/Dockerfile.grpc-dbsql-server: -------------------------------------------------------------------------------- 1 | FROM golang:1.12 AS build 2 | ADD cmd/grpc-dbsql-server/ /go/src/github.com/DataDog/trace-examples/go/grpc/grpc-db/cmd/grpc-dbsql-server/ 3 | ADD proto/ /go/src/github.com/DataDog/trace-examples/go/grpc/grpc-db/proto/ 4 | RUN go get -d github.com/DataDog/trace-examples/go/grpc/grpc-db/cmd/grpc-dbsql-server && go install github.com/DataDog/trace-examples/go/grpc/grpc-db/cmd/grpc-dbsql-server 5 | 6 | FROM debian:stretch-slim 7 | COPY --from=build /go/bin/grpc-dbsql-server /grpc-dbsql-server 8 | ENTRYPOINT ["/grpc-dbsql-server"] 9 | -------------------------------------------------------------------------------- /go/grpc/grpc-db/docker/Dockerfile.grpc-gorm-server: -------------------------------------------------------------------------------- 1 | FROM golang:1.12 AS build 2 | ADD cmd/grpc-gorm-server/ /go/src/github.com/DataDog/trace-examples/go/grpc/grpc-db/cmd/grpc-gorm-server/ 3 | ADD proto/ /go/src/github.com/DataDog/trace-examples/go/grpc/grpc-db/proto/ 4 | RUN go get -d github.com/DataDog/trace-examples/go/grpc/grpc-db/cmd/grpc-gorm-server && go install github.com/DataDog/trace-examples/go/grpc/grpc-db/cmd/grpc-gorm-server 5 | 6 | FROM debian:stretch-slim 7 | COPY --from=build /go/bin/grpc-gorm-server /grpc-gorm-server 8 | ENTRYPOINT ["/grpc-gorm-server"] 9 | -------------------------------------------------------------------------------- /go/grpc/grpc-db/proto/crud/crud.go: -------------------------------------------------------------------------------- 1 | //go:generate protoc --go_out=plugins=grpc:. crud.proto 2 | package crud 3 | -------------------------------------------------------------------------------- /go/grpc/grpc-db/trace_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/trace-examples/dbee48790ac84c078867afc313b4cfbca7693d7b/go/grpc/grpc-db/trace_detail.png -------------------------------------------------------------------------------- /go/grpc/grpc-db/trace_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/trace-examples/dbee48790ac84c078867afc313b4cfbca7693d7b/go/grpc/grpc-db/trace_list.png -------------------------------------------------------------------------------- /go/grpc/grpc-trace-test/example.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | message Message { 4 | string data = 1; 5 | } 6 | 7 | service Example { 8 | rpc Echo(stream Message) returns (stream Message) {} 9 | } 10 | -------------------------------------------------------------------------------- /javascript/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | indent_style = space 7 | indent_size = 2 8 | end_of_line = lf 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | 13 | [*.md] 14 | trim_trailing_whitespace = false 15 | -------------------------------------------------------------------------------- /javascript/browser/http/README.md: -------------------------------------------------------------------------------- 1 | # Browser Example (prototype) 2 | 3 | **WARNING**: This is a proof of concept that is still a work in progress. Do not use for your applications. 4 | 5 | To run the prototype, checkout the repo, create a .env file with `DD_CLIENT_TOKEN` set to your client token, and run: 6 | 7 | ```bash 8 | npm install 9 | npm start 10 | ``` 11 | 12 | Requests are sent to `http://localhost:8080/users` and assume that the [microservices](/javascript/node/microservices) example is running. 13 | -------------------------------------------------------------------------------- /javascript/browser/http/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web", 3 | "version": "1.0.0", 4 | "main": "server.js", 5 | "private": true, 6 | "scripts": { 7 | "start": "live-server app --port=3000 --mount=/dd-trace:./node_modules/dd-trace/dist --mount=/env:./.env" 8 | }, 9 | "dependencies": { 10 | "dd-trace": "^0.15.5", 11 | "live-server": "^1.2.1" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /javascript/node/microservices/README.md: -------------------------------------------------------------------------------- 1 | # Microservices example 2 | 3 | This example has all Node APM features enabled on 3 services. 4 | 5 | The following modules are automatically instrumented by our integrations: 6 | 7 | - express 8 | - graphql 9 | - http 10 | - mongodb-core 11 | - redis 12 | - winston 13 | 14 | ## Running 15 | 16 | ```sh 17 | DD_API_KEY=
<%= data %>4 | 5 | -------------------------------------------------------------------------------- /opentelemetry/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | usage() { echo "Usage: $0 [start/stop/update]" 1>&2; exit 1; } 4 | 5 | case "$1" in 6 | start) 7 | kubectl apply -f k8s-collector.yml 8 | ;; 9 | stop) 10 | kubectl delete -f k8s-collector.yml 11 | ;; 12 | update) 13 | kubectl replace --force -f ./k8s-collector.yml 14 | ;; 15 | *) 16 | usage 17 | ;; 18 | esac -------------------------------------------------------------------------------- /php/.dockerignore: -------------------------------------------------------------------------------- 1 | **/vendor/ 2 | -------------------------------------------------------------------------------- /php/.env: -------------------------------------------------------------------------------- 1 | DD_TRACE_VERSION=0.30.0 2 | -------------------------------------------------------------------------------- /php/.gitignore: -------------------------------------------------------------------------------- 1 | **/vendor/ 2 | **/supervisord.log 3 | **/supervisord.pid 4 | -------------------------------------------------------------------------------- /php/Laravel42/.gitattributes: -------------------------------------------------------------------------------- 1 | bootstrap/* linguist-generated 2 | public/* linguist-generated 3 | artisan linguist-generated 4 | composer.json linguist-generated 5 | composer.lock linguist-generated 6 | server.php linguist-generated 7 | -------------------------------------------------------------------------------- /php/Laravel42/.gitignore: -------------------------------------------------------------------------------- 1 | /bootstrap/compiled.php 2 | /vendor 3 | composer.phar 4 | composer.lock 5 | .env.*.php 6 | .env.php 7 | .DS_Store 8 | Thumbs.db 9 | -------------------------------------------------------------------------------- /php/Laravel42/Dockerfiles/acpu.ini: -------------------------------------------------------------------------------- 1 | extension=apcu.so 2 | -------------------------------------------------------------------------------- /php/Laravel42/Dockerfiles/apache2-virtualhost.conf: -------------------------------------------------------------------------------- 1 |
{{ error_message }}
{% endif %} 7 | 8 | 15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /python/aiohttp/polls/aiohttpdemo_polls/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% set title = "Main" %} 4 | 5 | {% block content %} 6 | {% if questions %} 7 |No polls are available.
14 | {% endif %} 15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /python/aiohttp/polls/aiohttpdemo_polls/templates/results.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% set title = question.question_text %} 4 | 5 | {% block content %} 6 |{{ body }}
7 |{{ error_message }}
{% endif %} 4 | 5 | 13 | -------------------------------------------------------------------------------- /python/django/django-tutorial/mysite/polls/templates/polls/index.html: -------------------------------------------------------------------------------- 1 | {% if latest_question_list %} 2 |No polls are available.
9 | {% endif %} 10 | -------------------------------------------------------------------------------- /python/django/django-tutorial/mysite/polls/templates/polls/results.html: -------------------------------------------------------------------------------- 1 |Success.
11 |Page not found.
11 |Server error.
11 |6 | {% end %} 7 | 8 |
14 | {% end %} 15 | -------------------------------------------------------------------------------- /python/tornado6-blog/templates/modules/entry.html: -------------------------------------------------------------------------------- 1 |2 | Commenter: 3 | <%= comment.commenter %> 4 |
5 | 6 |7 | Comment: 8 | <%= comment.body %> 9 |
10 | 11 |12 | <%= link_to 'Destroy Comment', [comment.post, comment], 13 | :confirm => 'Are you sure?', 14 | :method => :delete %> 15 |
16 | -------------------------------------------------------------------------------- /ruby/dalli/app/views/comments/_form.html.erb: -------------------------------------------------------------------------------- 1 | <%= form_for([@post, @post.comments.build]) do |f| %> 2 |Name | 6 |Title | 7 |Content | 8 |9 | | 10 | | 11 | |
---|---|---|---|---|---|
<%= post.name %> | 16 |<%= post.title %> | 17 |<%= post.content %> | 18 |<%= link_to 'Show', post %> | 19 |<%= link_to 'Edit', edit_post_path(post) %> | 20 |<%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %> | 21 |
<%= notice %>
2 | 3 | <%= @cached_value %> <%= @secret_post.length %> 4 | 5 |8 | Name: 9 | <%= @post.name %> 10 |
11 | 12 |13 | Title: 14 | <%= @post.title %> 15 |
16 | 17 |18 | Content: 19 | <%= @post.content %> 20 |
21 | 22 |* <%= person.first_name %> <%= person.last_name %>
5 | -------------------------------------------------------------------------------- /ruby/mongoid/app/views/layouts/application.html.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |2 | Commenter: 3 | <%= comment.commenter %> 4 |
5 | 6 |7 | Comment: 8 | <%= comment.body %> 9 |
10 | 11 |12 | <%= link_to 'Destroy Comment', [comment.post, comment], 13 | :confirm => 'Are you sure?', 14 | :method => :delete %> 15 |
16 | -------------------------------------------------------------------------------- /ruby/rails/app/views/comments/_form.html.erb: -------------------------------------------------------------------------------- 1 | <%= form_for([@post, @post.comments.build]) do |f| %> 2 |Name | 6 |Title | 7 |Content | 8 |9 | | 10 | | 11 | |
---|---|---|---|---|---|
<%= post.name %> | 16 |<%= post.title %> | 17 |<%= post.content %> | 18 |<%= link_to 'Show', post %> | 19 |<%= link_to 'Edit', edit_post_path(post) %> | 20 |<%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %> | 21 |
<%= notice %>
2 | 3 | <%= @cached_value %> <%= @secret_post.length %> 4 | 5 |8 | Name: 9 | <%= @post.name %> 10 |
11 | 12 |13 | Title: 14 | <%= @post.title %> 15 |
16 | 17 |18 | Content: 19 | <%= @post.content %> 20 |
21 | 22 |<%= job.id %>
8 |9 | <% if job.running? %> 10 | running 11 | <% else %> 12 | queued 13 | <% end %> 14 |
15 |id: <%= post.id %>
8 |<%= post.body %>
9 |