Micrometer Observation support by marcingrzejszczak · Pull Request #1879 · googleapis/google-http-java-client

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

This PR extracts the logic that the OpenCensus instrumentation used to instrument an outbound request into an interface that other implementations (Micrometer Observation, OpenTelemetry etc.) could implement. For backward compatibility I left the OpenCensus one as the one that is always being set (you can override it).

Sep 15, 2023 2:35:58 PM io.micrometer.tracing.test.SampleTestRunner printMetrics
INFO: Gathered the following metrics
	Meter with name <http.client.duration.active> and type <LONG_TASK_TIMER> has the following measurements 
		<[Measurement{statistic='ACTIVE_TASKS', value=0.0}, Measurement{statistic='DURATION', value=0.0}]> 
		and has the following tags <[]>
	Meter with name <http.client.duration> and type <TIMER> has the following measurements 
		<[Measurement{statistic='COUNT', value=1.0}, Measurement{statistic='TOTAL_TIME', value=0.001958896}, Measurement{statistic='MAX', value=0.001958896}]> 
		and has the following tags <[tag(error=none), tag(http.status_code=200)]>
	Meter with name <zipkin_brave.active> and type <LONG_TASK_TIMER> has the following measurements 
		<[Measurement{statistic='ACTIVE_TASKS', value=1.0}, Measurement{statistic='DURATION', value=0.103744693}]> 
		and has the following tags <[]>