Giter Site home page Giter Site logo

zipkin-azure's People

Contributors

abesto avatar adriancole avatar aliostad avatar kevinbayes avatar making avatar praveenbarli avatar zeagord avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zipkin-azure's Issues

Cannot run the application following instructions

After a while came back to this and trying to run - in the past I used different parameters. Word by word, I followed the instructions but evenhub module does not get loaded. I even put debug outputs in the paths of code but they are never called.

Here is my tmp:

total 104936
drwxr-xr-x  4 aliostad  staff   136B 21 Jun 22:47 .
drwxr-xr-x  7 aliostad  staff   238B 21 Jun 22:47 ..
drwxr-xr-x  6 aliostad  staff   204B 21 Jun 22:47 eventhub
-rw-r--r--  1 aliostad  staff    51M 21 Jun 22:47 zipkin.jar

And here is inside my eventhub:

total 8
drwxr-xr-x   6 aliostad  staff   204B 21 Jun 22:47 .
drwxr-xr-x   4 aliostad  staff   136B 21 Jun 22:47 ..
drwxr-xr-x   5 aliostad  staff   170B 21 Jun 22:37 META-INF
drwxr-xr-x  11 aliostad  staff   374B 21 Jun 22:37 lib
drwxr-xr-x   3 aliostad  staff   102B 21 Jun 22:29 zipkin
-rw-r--r--   1 aliostad  staff   559B 21 Jun 22:37 zipkin-server-eventhub.yml

And I cd to tmp and run below:

EVENTHUB_CONNECTION_STRING=blah
EVENTHUB_STORAGE_CONNECTION_STRING=blah
java -Dloader.path=eventhub -Dspring.profiles.active=eventhub -cp zipkin.jar org.springframework.boot.loader.PropertiesLauncher

And here is output from the zipkin server:

                                    ********
                                  **        **
                                 *            *
                                **            **
                                **            **
                                 **          **
                                  **        **
                                    ********
                                      ****
                                      ****
        ****                          ****
     ******                           ****                                 ***
  ****************************************************************************
    *******                           ****                                 ***
        ****                          ****
                                       **
                                       **


             *****      **     *****     ** **       **     **   **
               **       **     **  *     ***         **     **** **
              **        **     *****     ****        **     **  ***
             ******     **     **        **  **      **     **   **

:: Powered by Spring Boot ::         (v1.5.4.RELEASE)

2017-06-21 22:54:57.477  INFO 41640 --- [           main] zipkin.server.ZipkinServer               : Starting ZipkinServer on AliKheyrollahis-MacBook-Pro.local with PID 41640 (/Users/aliostad/zipkin-eventhub-pod/tmp/zipkin.jar started by aliostad in /Users/aliostad/zipkin-eventhub-pod/tmp)
2017-06-21 22:54:57.485  INFO 41640 --- [           main] zipkin.server.ZipkinServer               : The following profiles are active: shared,eventhub
2017-06-21 22:54:57.601  INFO 41640 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5e3a8624: startup date [Wed Jun 21 22:54:57 BST 2017]; root of context hierarchy
getMatchOutcome
2017-06-21 22:54:59.410  INFO 41640 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Overriding bean definition for bean 'characterEncodingFilter' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.web.HttpEncodingAutoConfiguration; factoryMethodName=characterEncodingFilter; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/web/HttpEncodingAutoConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=zipkin.autoconfigure.ui.ZipkinUiAutoConfiguration; factoryMethodName=characterEncodingFilter; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [zipkin/autoconfigure/ui/ZipkinUiAutoConfiguration.class]]
2017-06-21 22:54:59.874  INFO 41640 --- [           main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2017-06-21 22:55:01.058  INFO 41640 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 9411 (http)
2017-06-21 22:55:01.091  INFO 41640 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2017-06-21 22:55:01.095  INFO 41640 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.15
2017-06-21 22:55:01.283  INFO 41640 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2017-06-21 22:55:01.283  INFO 41640 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3688 ms
2017-06-21 22:55:01.858  INFO 41640 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2017-06-21 22:55:01.866  INFO 41640 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'metricsFilter' to: [/*]
2017-06-21 22:55:01.866  INFO 41640 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2017-06-21 22:55:01.866  INFO 41640 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2017-06-21 22:55:01.867  INFO 41640 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2017-06-21 22:55:01.867  INFO 41640 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'webRequestLoggingFilter' to: [/*]
2017-06-21 22:55:01.868  INFO 41640 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'applicationContextIdFilter' to: [/*]
2017-06-21 22:55:01.869  INFO 41640 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2017-06-21 22:55:02.616  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5e3a8624: startup date [Wed Jun 21 22:54:57 BST 2017]; root of context hierarchy
2017-06-21 22:55:02.766  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/v1/dependencies],methods=[GET],produces=[application/json]}" onto public byte[] zipkin.server.ZipkinQueryApiV1.getDependencies(long,java.lang.Long)
2017-06-21 22:55:02.769  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/v1/services],methods=[GET]}" onto public org.springframework.http.ResponseEntity<java.util.List<java.lang.String>> zipkin.server.ZipkinQueryApiV1.getServiceNames()
2017-06-21 22:55:02.770  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/v1/spans],methods=[GET]}" onto public org.springframework.http.ResponseEntity<java.util.List<java.lang.String>> zipkin.server.ZipkinQueryApiV1.getSpanNames(java.lang.String)
2017-06-21 22:55:02.771  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/v1/traces],methods=[GET],produces=[application/json]}" onto public java.lang.String zipkin.server.ZipkinQueryApiV1.getTraces(java.lang.String,java.lang.String,java.lang.String,java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Integer)
2017-06-21 22:55:02.771  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/v1/trace/{traceIdHex}],methods=[GET],produces=[application/json]}" onto public java.lang.String zipkin.server.ZipkinQueryApiV1.getTrace(java.lang.String,org.springframework.web.context.request.WebRequest)
2017-06-21 22:55:02.773  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/v1/spans],methods=[POST]}" onto public org.springframework.util.concurrent.ListenableFuture<org.springframework.http.ResponseEntity<?>> zipkin.server.ZipkinHttpCollector.uploadSpansJson(java.lang.String,byte[])
2017-06-21 22:55:02.774  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/v1/spans],methods=[POST],consumes=[application/x-thrift]}" onto public org.springframework.util.concurrent.ListenableFuture<org.springframework.http.ResponseEntity<?>> zipkin.server.ZipkinHttpCollector.uploadSpansThrift(java.lang.String,byte[])
2017-06-21 22:55:02.781  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-06-21 22:55:02.782  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-06-21 22:55:02.785  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/prometheus],methods=[GET]}" onto public org.springframework.http.ResponseEntity<java.lang.String> zipkin.autoconfigure.metrics.PrometheusMetricsAutoConfiguration.prometheusMetrics()
2017-06-21 22:55:02.787  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/config.json],methods=[GET],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<zipkin.autoconfigure.ui.ZipkinUiProperties> zipkin.autoconfigure.ui.ZipkinUiAutoConfiguration.serveUiConfig()
2017-06-21 22:55:02.787  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/index.html],methods=[GET]}" onto public org.springframework.http.ResponseEntity<org.springframework.core.io.Resource> zipkin.autoconfigure.ui.ZipkinUiAutoConfiguration.serveIndex()
2017-06-21 22:55:02.788  INFO 41640 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/ || /traces/{id} || /dependency],methods=[GET]}" onto public org.springframework.web.servlet.ModelAndView zipkin.autoconfigure.ui.ZipkinUiAutoConfiguration.forwardUiEndpoints(org.springframework.ui.ModelMap)
2017-06-21 22:55:02.845  INFO 41640 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-06-21 22:55:02.846  INFO 41640 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-06-21 22:55:03.154  INFO 41640 --- [           main] c.d.driver.core.GuavaCompatibility       : Detected Guava >= 19 in the classpath, using modern compatibility layer
2017-06-21 22:55:03.718  INFO 41640 --- [           main] com.datastax.driver.core.ClockFactory    : Using native clock to generate timestamps.
2017-06-21 22:55:04.569  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/info || /info.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.570  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/mappings || /mappings.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.571  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/auditevents || /auditevents.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public org.springframework.http.ResponseEntity<?> org.springframework.boot.actuate.endpoint.mvc.AuditEventsMvcEndpoint.findByPrincipalAndAfterAndType(java.lang.String,java.util.Date,java.lang.String)
2017-06-21 22:55:04.575  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/env/{name:.*}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EnvironmentMvcEndpoint.value(java.lang.String)
2017-06-21 22:55:04.575  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/env || /env.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.576  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/health || /health.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(javax.servlet.http.HttpServletRequest,java.security.Principal)
2017-06-21 22:55:04.577  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/heapdump || /heapdump.json],methods=[GET],produces=[application/octet-stream]}" onto public void org.springframework.boot.actuate.endpoint.mvc.HeapdumpMvcEndpoint.invoke(boolean,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException,javax.servlet.ServletException
2017-06-21 22:55:04.578  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/trace || /trace.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.578  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/beans || /beans.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.580  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/loggers/{name:.*}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.get(java.lang.String)
2017-06-21 22:55:04.581  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/loggers/{name:.*}],methods=[POST],consumes=[application/vnd.spring-boot.actuator.v1+json || application/json],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.set(java.lang.String,java.util.Map<java.lang.String, java.lang.String>)
2017-06-21 22:55:04.581  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/loggers || /loggers.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.582  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/dump || /dump.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.582  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/autoconfig || /autoconfig.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.583  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/configprops || /configprops.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.584  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/metrics/{name:.*}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value(java.lang.String)
2017-06-21 22:55:04.584  INFO 41640 --- [           main] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/metrics || /metrics.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-06-21 22:55:04.787  INFO 41640 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-06-21 22:55:04.800  INFO 41640 --- [           main] o.s.c.support.DefaultLifecycleProcessor  : Starting beans in phase 0
2017-06-21 22:55:05.053  INFO 41640 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 9411 (http)
2017-06-21 22:55:05.063  INFO 41640 --- [           main] zipkin.server.ZipkinServer               : Started ZipkinServer in 8.62 seconds (JVM running for 9.731)

create "quick start" which doesn't require building the project

It should be possible to create a quick start section of the README now that we have published the project. This can be like the zipkin upstream one, where the "lastest" version is used for both zipkin and the eventhub module.

# get the zipkin jar
$ wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'
# get the eventhub module jar
$ wget -O zipkin-eventhub.jar 'https://search.maven.org/remote_content?g=io.zipkin.azure&a=zipkin-autoconfigure-collector-eventhub&v=LATEST&c=module'
... do other things

here's the example quick start from zipkin https://github.com/openzipkin/zipkin#quick-start

Shortening of the name has made reading the code difficult

I can see that we have a property name which is actually consumerGroupName. That is confusing for anyone familiar with EventHub. Also processorHost is not the host anymore, it is merely the name of the processorHost (i.e. processorHostName) ... frankly do not agree with these changes.

I agree that for configuration, naming should be short but not sacrificing self-explanatory codes which is important in the upkeep of the .

To have the best of the both worlds, I suggest having shorter duplicate properties that can read and then populate the longer more meaningful names if they are empty.

[2 cents]

Adding a feature for an event hub sender

Hi,

Is it possible to add a feature to an event hub sender?

Indeed, I would like to use zipkin-azure on a Spring Boot application and to send my logs to an Azure EventHub.
To do that, I need to have a Hub Sender, but I can't find it :)

Thanks for your help!
Damien

Explain how to derive required properties

Ideally, in #5, there will be a way to inherit connection string configuration from the local host. Regardless, it should be obvious what every property is, and how to get it. Most important are the required properties for the eventhub and storage connection strings.

Right now, there's no link to the format of the eventhub or storage connection strings. Neither is there a description of how to get these values (ex via a UI or some cli tool). This makes it hard to get started, as you have to learn something. Ideally people encountering EventHub for the first time are able to get started without even thinking.

Here's an example block for google, which includes a section on how to enroll in an account for their zipkin collector. https://medium.com/google-cloud/distributed-tracing-spring-boot-microservices-with-stackdriver-trace-7fe42c6de3f3#.dl3mxikep

There's probably something we can do to make it obvious what you need and how to succeed. Similar to the google or amazon experience, we don't want users to have to think too much (nor do we want other zipkin developers to have no idea how to test this for lack of experience)

Reduce configuration to one (or max two) short properties

Right now, there's a long description of creating a properties file which includes all but one property. Each of these are in long form, like zipkin.collector.eventhub.connection-string. To get a similar experience with other services, we'd ideally have one or two required properties in short form (like EVENTHUB_CONNECTION_STRING, taking anything we can from host installed defaults (if exist)

The following are good examples of where a short env variable is available, which allows people to literally hand type a commandline in as needed!

Improve first time experience

We've received positive feedback on the code from @kevinbayes (whoot), but both Kevin and Praveen (barpr01_twitter on gitter.. not sure his github) mentioned there's work to do in getting started. Personally, I'm also finding the experience lacking, not just for build, but more importantly what to put into the blanks. Here are some important things I've cataloged, but feel free to add others.

  • Add foolproof local build instructions #4
  • Reduce configuration to one (or max two) short properties #5
  • Explain how to derive required properties #6

cc @openzipkin/devops-tooling

Zipkin to Application Insights module

Issue to discuss ongoing work in PR: #27

The main idea is to allow to report and store Zipkin traces in the format Application Insights recognize so all the power of Application Insights Analytics engine, alerting and proactive detection can be used for those traces.

Also allows to view data collected by Application Insights SDK in Zipkin UI.

CosmosDB / DocDB storage support

Creating this as a child of #8
@praveenbarli has something working.

Some things to consider and ideally discuss before an implementation.
Zipkin backend model and queries. There's no formal specification but @adriancole has mentioned

As CosmosDB has multiple APIs (key-value, document and graph) it would be interesting to know what makes most sense for this backend and have a discussion on the model. Ideally we'd be able to make sure it's cost efficient at a good performance .
See pricing https://azure.microsoft.com/en-us/pricing/details/cosmos-db/

  • $0.25/GB
  • $0.008 100 / RUs / second (min 400)

Perhaps data retention could also be discussed? What's typically used?

Note that if Event Hubs is used as a queue before data lands in storage, that will impose some limits on the throughput (EH is limited to 20K rps).
Since Cosmos DB can handle way more than that, perhaps it would make sense to be able to push directly without going through EH?

Add foolproof local build instructions

In other zipkin projects, the local development story includes how to build and run the project from source.

Ex.
https://github.com/openzipkin/zipkin-dependencies#building-locally
https://github.com/openzipkin/zipkin/blob/master/zipkin-server/README.md#building-locally

Right now, our instructions lead people to a common error, which is downloading the server jar into the same directory as the module (which fails to run). We need to correct that as it is clearly possible to use a script or copy/paste instructions to avoid this.

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.