Skip to content
This repository was archived by the owner on Dec 23, 2023. It is now read-only.

Commit f0c0ca2

Browse files
authored
add spring starter package for opencensus spring integration. (#1934)
* add spring starter package for opencensus spring integration. * remove duplicate links. * fix build error.
1 parent bf0fad4 commit f0c0ca2

7 files changed

Lines changed: 110 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
## Unreleased
22
- Make `StackdriverStatsExporter.unregister()` a public API.
3+
- Add support spring plugin for http servlet and AsyncRestTemplate.
4+
35

46
## 0.22.1 - 2019-05-21
57
- Increase the buffer size for the trace export batch to 2500 (previously it was 32).

all/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ def subprojects = [
2222
project(':opencensus-contrib-resource-util'),
2323
project(':opencensus-contrib-spring'),
2424
project(':opencensus-contrib-spring-sleuth-v1x'),
25+
project(':opencensus-contrib-spring-starter'),
2526
project(':opencensus-contrib-zpages'),
2627
project(':opencensus-exporter-metrics-ocagent'),
2728
project(':opencensus-exporter-metrics-util'),
@@ -56,6 +57,7 @@ def subprojects_javadoc = [
5657
project(':opencensus-contrib-resource-util'),
5758
project(':opencensus-contrib-spring'),
5859
project(':opencensus-contrib-spring-sleuth-v1x'),
60+
project(':opencensus-contrib-spring-starter'),
5961
project(':opencensus-contrib-zpages'),
6062
project(':opencensus-exporter-metrics-ocagent'),
6163
project(':opencensus-exporter-metrics-util'),

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,7 @@ subprojects {
448448
'opencensus-contrib-resource-util',
449449
'opencensus-contrib-spring',
450450
'opencensus-contrib-spring-sleuth-v1x',
451+
'opencensus-contrib-spring-starter',
451452
'opencensus-contrib-zpages',
452453
'opencensus-exporter-metrics-ocagent',
453454
'opencensus-exporter-metrics-util',

contrib/spring_starter/README.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# OpenCensus Spring Starter
2+
[![Build Status][travis-image]][travis-url]
3+
[![Windows Build Status][appveyor-image]][appveyor-url]
4+
[![Maven Central][maven-image]][maven-url]
5+
6+
The *OpenCensus Spring Starter for Java* is a starter package that includes
7+
packages required to enable tracing using opencensus when working with [Spring Web][spring-web-url].
8+
9+
This version is compatible with [Spring Boot 2.0][spring-boot-2.0-url].
10+
11+
## Servlet and AsyncRestTemplate Tracing
12+
13+
Enable tracing on RestController (server side) and AysncRestTemplate (client side) by simply including opencensus-contrib-spring-starter in your dependencies and
14+
initializing exporter. It automatically traces your http request and collects stats associated with the
15+
request.
16+
17+
It does require to register exporter and views.
18+
19+
### Depedencies
20+
21+
#### Maven
22+
23+
```xml
24+
<dependencies>
25+
<dependency>
26+
<groupId>io.opencensus</groupId>
27+
<artifactId>opencensus-contrib-spring-starter</artifactId>
28+
<version>0.23.0</version>
29+
</dependency>
30+
</dependencies>
31+
32+
```
33+
34+
#### Gradle
35+
```gradle
36+
dependencyManagement {
37+
imports {
38+
mavenBom "io.opencensus:opencensus-contrib-spring-starter:0.23.0"
39+
}
40+
}
41+
dependencies {
42+
compile 'io.opencensus:opencensus-contrib-spring:0.23.0'
43+
}
44+
```
45+
46+
### Tracing Properties
47+
48+
Optionally configure one or more Tracing Properties in application.properties file.
49+
50+
51+
#### PublicEndpoint
52+
53+
If a servlet is serving publicEndpoints (untrusted boundary) then set this property to `true`.
54+
When set to true incoming trace context is added as a parent link instead of as a parent.
55+
By default it is set to `false`. When set to `false` it uses incoming trace context as a parent.
56+
57+
```
58+
opencensus.spring.trace.publicEndpoint = true
59+
```
60+
61+
#### Propagation
62+
63+
opencensus.spring.trace.propagation = TRACE_PROPAGATION_B3
64+
65+
By default it is set to TRACE_PROPAGATION_TRACE_CONTEXT which uses [W3C Tracecontext](https://github.com/census-instrumentation/opencensus-java/blob/master/api/src/main/java/io/opencensus/trace/propagation/TextFormat.java)
66+
propagator to propagate trace context. To use [B3 format](https://github.com/census-instrumentation/opencensus-java/blob/master/impl_core/src/main/java/io/opencensus/implcore/trace/propagation/B3Format.java)
67+
set the property to TRACE_PROPAGATION_B3
68+
69+
```
70+
opencensus.spring.trace.propagation = TRACE_PROPAGATION_B3
71+
```
72+
73+
#### Java Versions
74+
75+
Java 6 or above is required for using this artifact.
76+
77+
[travis-image]: https://travis-ci.org/census-instrumentation/opencensus-java.svg?branch=master
78+
[travis-url]: https://travis-ci.org/census-instrumentation/opencensus-java
79+
[appveyor-image]: https://ci.appveyor.com/api/projects/status/hxthmpkxar4jq4be/branch/master?svg=true
80+
[appveyor-url]: https://ci.appveyor.com/project/opencensusjavateam/opencensus-java/branch/master
81+
[maven-image]: https://maven-badges.herokuapp.com/maven-central/io.opencensus/opencensus-contrib-spring-starter/badge.svg
82+
[maven-url]: https://maven-badges.herokuapp.com/maven-central/io.opencensus/opencensus-contrib-spring-starter
83+
[spring-boot-2.0-url]: https://github.com/spring-projects/spring-boot/tree/2.0.x
84+
[spring-web-url]: https://github.com/spring-projects/spring-framework/tree/master/spring-web
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
plugins {
2+
id 'java'
3+
}
4+
5+
description = 'OpenCensus Spring Cloud Starter'
6+
7+
[compileJava, compileTestJava].each() {
8+
it.sourceCompatibility = 1.6
9+
it.targetCompatibility = 1.6
10+
}
11+
12+
dependencies {
13+
compile project(':opencensus-api'),
14+
project(':opencensus-contrib-spring'),
15+
project(':opencensus-impl')
16+
17+
signature "org.codehaus.mojo.signature:java16:+@signature"
18+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
provides: opencensus-contrib-spring

settings.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ include ":opencensus-contrib-log-correlation-stackdriver"
3737
include ":opencensus-contrib-resource-util"
3838
include ":opencensus-contrib-spring"
3939
include ":opencensus-contrib-spring-sleuth-v1x"
40+
include ":opencensus-contrib-spring-starter"
4041
include ":opencensus-contrib-zpages"
4142

4243
project(':opencensus-all').projectDir = "$rootDir/all" as File
@@ -67,6 +68,7 @@ project(':opencensus-contrib-resource-util').projectDir = "$rootDir/contrib/reso
6768
project(':opencensus-contrib-spring').projectDir = "$rootDir/contrib/spring" as File
6869
project(':opencensus-contrib-spring-sleuth-v1x').projectDir =
6970
"$rootDir/contrib/spring_sleuth_v1x" as File
71+
project(':opencensus-contrib-spring-starter').projectDir = "$rootDir/contrib/spring_starter" as File
7072
project(':opencensus-contrib-zpages').projectDir = "$rootDir/contrib/zpages" as File
7173
project(':opencensus-exporter-metrics-ocagent').projectDir =
7274
"$rootDir/exporters/metrics/ocagent" as File

0 commit comments

Comments
 (0)