Code Monkey home page Code Monkey logo

tracing's Issues

zipkin docker start error

docker-compose -f docker-compose.zipkin.yml up fails both for me and @ZolotarevIgor-mail-ru with

zipkin          | java.sql.SQLInvalidAuthorizationSpecException: Could not connect to address=(host=mysql)(port=3306)(type=master) : (conn=662) Access denied for user 'zipkin'@'zipkin.tracing_zipkin' (using password: NO)
zipkin          | 	at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:66) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:192) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1392) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:635) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:150) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at org.mariadb.jdbc.Driver.connect(Driver.java:89) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:121) ~[HikariCP-3.4.5.jar:?]
zipkin          | 	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar:?]
zipkin          | 	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar:?]
zipkin          | 	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) ~[HikariCP-3.4.5.jar:?]
zipkin          | 	at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) ~[HikariCP-3.4.5.jar:?]
zipkin          | 	at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[HikariCP-3.4.5.jar:?]
zipkin          | 	at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-3.4.5.jar:?]
zipkin          | 	at zipkin2.storage.mysql.v1.MySQLStorage.check(MySQLStorage.java:159) ~[zipkin-storage-mysql-v1-2.23.2.jar:?]
zipkin          | 	at zipkin2.server.internal.health.ComponentHealth.ofComponent(ComponentHealth.java:27) ~[classes/:?]
zipkin          | 	at zipkin2.server.internal.health.ZipkinHealthController.lambda$health$1(ZipkinHealthController.java:69) ~[classes/:?]
zipkin          | 	at java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source) ~[?:?]
zipkin          | 	at com.linecorp.armeria.common.RequestContext.lambda$makeContextAware$3(RequestContext.java:502) ~[armeria-1.3.0.jar:?]
zipkin          | 	at io.micrometer.core.instrument.internal.TimedRunnable.run(TimedRunnable.java:44) [micrometer-core-1.6.2.jar:1.6.2]
zipkin          | 	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
zipkin          | 	at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
zipkin          | 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:?]
zipkin          | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
zipkin          | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
zipkin          | 	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.54.Final.jar:4.1.54.Final]
zipkin          | 	at java.lang.Thread.run(Unknown Source) [?:?]
zipkin          | Caused by: java.sql.SQLInvalidAuthorizationSpecException: (conn=662) Access denied for user 'zipkin'@'zipkin.tracing_zipkin' (using password: NO)
zipkin          | 	at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:66) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:187) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.authenticationHandler(AbstractConnectProtocol.java:776) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:553) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1387) ~[mariadb-java-client-2.7.1.jar:?]
zipkin          | 	... 23 more

example client fails

Prerequirements:
tarantoolctl rocks install http 2.0.1
tarantoolctl rocks install tracing

Run:
tarantool formatter.lua,
tarantool publisher.lua in separate terminal window,
tarantool client.lua in separate terminal window.

Last one fails with

LuajitError: client.lua:85: Print string error: {"status":595,"reason":"Couldn't connect to server"}
fatal error, exiting the event loop

while tarantool formatter.lua still logs

started
entering the event loop
GET /format?helloto=world

tarantool publisher.lua logs only

entering the event loop

and there are some traces in Jagger:
image

Example uses deprecated HTTP v2

tracing/README.md

Lines 241 to 313 in 9feeae6

```lua
#!/usr/bin/env tarantool
local http_server = require('http.server')
local http_router = require('http.router')
local fiber = require('fiber')
local log = require('log')
local zipkin = require('zipkin.tracer')
local opentracing = require('opentracing')
local app = {}
local Sampler = {
sample = function() return true end,
}
local HOST = '0.0.0.0'
local PORT = '33302'
local function handler(req)
-- Extract content from request's http headers
local ctx, err = opentracing.http_extract(req:headers())
if ctx == nil then
local resp = req:render({ text = err })
resp.status = 400
return resp
end
local hello_to = req:query_param('helloto')
-- Start new child span
local span = opentracing.start_span_from_context(ctx, 'format_string')
-- Set service type
span:set_component('formatter')
span:set_server_kind()
span:set_http_method(req:method())
span:set_http_path(req:path())
local greeting = span:get_baggage_item('greeting')
local result = ('%s, %s!'):format(greeting, hello_to)
local resp = req:render({ text = result })
-- Simulate long request processing
fiber.sleep(2)
span:log_kv({
event = 'String format',
value = result,
})
resp.status = 200
span:set_http_status_code(resp.status)
span:finish()
return resp
end
function app.init()
-- Initialize zipkin client that will be send spans every 5 seconds
local tracer = zipkin.new({
base_url = 'localhost:9411/api/v2/spans',
api_method = 'POST',
report_interval = 5,
on_error = function(err) log.error(err) end,
}, Sampler)
opentracing.set_global_tracer(tracer)
local httpd = http_server.new(HOST, PORT)
local router = http_router.new()
:route({ path = '/format', method = 'GET' }, handler)
httpd:set_router(router)
httpd:start()
end
app.init()
return app
```
and

tracing/README.md

Lines 317 to 382 in 9feeae6

#!/usr/bin/env tarantool
local http_server = require('http.server')
local http_router = require('http.router')
local fiber = require('fiber')
local log = require('log')
local zipkin = require('zipkin.tracer')
local opentracing = require('opentracing')
local app = {}
local Sampler = {
sample = function() return true end,
}
local HOST = '0.0.0.0'
local PORT = '33303'
local function handler(req)
local ctx, err = opentracing.http_extract(req:headers())
if ctx == nil then
local resp = req:render({ text = err })
resp.status = 400
return resp
end
local hello = req:query_param('hello')
local span = opentracing.start_span_from_context(ctx, 'print_string')
span:set_component('publisher')
span:set_server_kind()
span:set_http_method(req:method())
span:set_http_path(req:path())
-- Simulate long request processing
fiber.sleep(3)
io.write(hello, '\n')
local resp = req:render({text = '' })
resp.status = 200
span:set_http_status_code(resp.status)
span:finish()
return resp
end
function app.init()
local tracer = zipkin.new({
base_url = 'localhost:9411/api/v2/spans',
api_method = 'POST',
report_interval = 5,
on_error = function(err) log.error(err) end,
}, Sampler)
opentracing.set_global_tracer(tracer)
local httpd = http_server.new(HOST, PORT)
local router = http_router.new()
:route({ path = '/print', method = 'GET' }, handler)
httpd:set_router(router)
httpd:start()
end
app.init()
return app
```
use HTTP v2 module, which is deprecated now (tarantool/http#142). HTTP v1 is installed by default from servers and, since v1 and v2 code is incompatible, example fails. It confuses users trying to run code from README (https://t.me/tarantoolru/182158).

how to install tarantool ?

intall tarantool in this way https://www.tarantool.io/en/download/os-installation/1.10/rhel-centos-6-7/ . but run tarantoolctl rocks install http 2.0.1 error, like this :

Installing http://rocks.tarantool.org/http-2.0.1-1.rockspec

Error: Could not find header file for TARANTOOL
No file tarantool/module.h in /usr/local/include
No file tarantool/module.h in /usr/include
You may have to install TARANTOOL in your system and/or pass TARANTOOL_DIR or TARANTOOL_INCDIR to the luarocks command.
Example: luarocks install http TARANTOOL_DIR=/usr/local

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.