File tree 6 files changed +39
-34
lines changed
6 files changed +39
-34
lines changed Original file line number Diff line number Diff line change @@ -299,3 +299,5 @@ significant modifications will be credited to OpenTelemetry Authors.
299
299
([ #764 ] ( https://github.com/open-telemetry/opentelemetry-demo/pull/764 ) )
300
300
* [ chore] align memory limits with Helm chart
301
301
([ #781 ] ( https://github.com/open-telemetry/opentelemetry-demo/pull/781 ) )
302
+ * Use an async PHP runtime, bump versions to latest betas
303
+ ([ #823 ] ( https://github.com/open-telemetry/opentelemetry-demo/pull/823 ) )
Original file line number Diff line number Diff line change @@ -25,24 +25,21 @@ RUN composer install \
25
25
--no-dev \
26
26
--prefer-dist
27
27
28
- FROM php:8.2-apache
28
+ FROM php:8.2-cli
29
29
30
30
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
31
31
RUN chmod +x /usr/local/bin/install-php-extensions \
32
32
&& install-php-extensions \
33
33
opcache \
34
+ pcntl \
34
35
protobuf \
35
- open-telemetry/ opentelemetry-php-instrumentation@ 1.0.0beta2
36
+ opentelemetry-1.0.0beta3
36
37
37
38
WORKDIR /var/www
38
39
COPY --from=build /tmp/vendor/ ./vendor/
39
40
COPY ./src/quoteservice/ /var/www
40
41
41
- ENV APACHE_DOCUMENT_ROOT /var/www/public
42
- RUN sed -ri -e 's|/var/www/html|${APACHE_DOCUMENT_ROOT}|g' /etc/apache2/sites-available/*.conf \
43
- && a2enmod rewrite \
44
- && echo "ServerName quoteservice" >> /etc/apache2/apache2.conf \
45
- && sed -i "s/80/\$\{ QUOTE_SERVICE_PORT\} /g" /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf
42
+ CMD php public/index.php
46
43
47
44
USER www-data
48
45
EXPOSE ${QUOTE_SERVICE_PORT}
Original file line number Diff line number Diff line change @@ -53,8 +53,7 @@ function calculateQuote($jsonObject): float
53
53
$ span = Span::getCurrent ();
54
54
$ span ->addEvent ('Received get quote request, processing it ' );
55
55
56
- $ body = $ request ->getBody ()->getContents ();
57
- $ jsonObject = json_decode ($ body , true );
56
+ $ jsonObject = $ request ->getParsedBody ();
58
57
59
58
$ data = calculateQuote ($ jsonObject );
60
59
Original file line number Diff line number Diff line change 6
6
"require" : {
7
7
"php" : " >= 8.2" ,
8
8
"ext-json" : " *" ,
9
- "monolog/monolog" : " 2.8.0 " ,
10
- "open-telemetry/api" : " 1.0.0beta4 " ,
11
- "open-telemetry/sdk" : " 1.0.0beta3 " ,
12
- "open-telemetry/exporter-otlp" : " 1.0.0beta3 " ,
13
- "open-telemetry/opentelemetry-auto-slim" : " 1.0.0beta4 " ,
9
+ "monolog/monolog" : " 3.3.1 " ,
10
+ "open-telemetry/api" : " 1.0.0beta5 " ,
11
+ "open-telemetry/sdk" : " 1.0.0beta6 " ,
12
+ "open-telemetry/exporter-otlp" : " 1.0.0beta5 " ,
13
+ "open-telemetry/opentelemetry-auto-slim" : " 1.0.0beta7 " ,
14
14
"guzzlehttp/guzzle" : " 7.4.5" ,
15
15
"php-di/php-di" : " 6.4.0" ,
16
16
"php-di/slim-bridge" : " 3.2.0" ,
17
17
"php-http/guzzle7-adapter" : " 1.0.0" ,
18
+ "react/http" : " v1.8.0" ,
18
19
"slim/psr7" : " 1.5" ,
19
20
"slim/slim" : " 4.10.0"
20
21
},
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 20
20
use Monolog \Handler \StreamHandler ;
21
21
use Monolog \Logger ;
22
22
use OpenTelemetry \API \Common \Log \LoggerHolder ;
23
+ use Psr \Http \Message \ServerRequestInterface ;
23
24
use Psr \Log \LogLevel ;
25
+ use React \EventLoop \Loop ;
26
+ use React \Http \HttpServer ;
27
+ use React \Socket \SocketServer ;
24
28
use Slim \Factory \AppFactory ;
25
29
26
30
require __DIR__ . '/../vendor/autoload.php ' ;
59
63
60
64
// Add Error Middleware
61
65
$ errorMiddleware = $ app ->addErrorMiddleware (true , true , true );
66
+ Loop::get ()->addSignal (SIGTERM , function () {
67
+ exit ;
68
+ });
62
69
63
- // Run App
64
- $ app ->run ();
70
+ $ server = new HttpServer (function (ServerRequestInterface $ request ) use ($ app ) {
71
+ $ response = $ app ->handle ($ request );
72
+ echo sprintf ('[%s] "%s %s HTTP/%s" %d %d %s ' ,
73
+ date ('Y-m-d H:i:sP ' ),
74
+ $ request ->getMethod (),
75
+ $ request ->getUri ()->getPath (),
76
+ $ request ->getProtocolVersion (),
77
+ $ response ->getStatusCode (),
78
+ $ response ->getBody ()->getSize (),
79
+ PHP_EOL ,
80
+ );
81
+
82
+ return $ response ;
83
+ });
84
+ $ address = '0.0.0.0: ' . getenv ('QUOTE_SERVICE_PORT ' );
85
+ $ socket = new SocketServer ($ address );
86
+ $ server ->listen ($ socket );
87
+
88
+ echo "Listening on: {$ address }" . PHP_EOL ;
You can’t perform that action at this time.
0 commit comments