Phoenix Testcontainers
A Testcontainers module providing PhoenixContainer, which runs Arize Phoenix, an AI observability and evaluation platform based on OpenTelemetry and OpenInference.
Dependencies
Add the module to your project.
-
Gradle
-
Maven
dependencies {
testImplementation "io.arconia:arconia-testcontainers-phoenix"
}
<dependency>
<groupId>io.arconia</groupId>
<artifactId>arconia-testcontainers-phoenix</artifactId>
<scope>test</scope>
</dependency>
Usage
var phoenix = new PhoenixContainer(DockerImageName.parse("arizephoenix/phoenix:latest"));
phoenix.start();
Phoenix accepts traces via OTLP, with the HTTP/Protobuf protocol on the port returned by getHttpPort() and the gRPC protocol on the one returned by getGrpcPort(). The UI is available at getPhoenixUrl().
Phoenix starts without authentication and with the telemetry of its UI turned off. Override them and any other Phoenix configuration via environment variables.
var phoenix = new PhoenixContainer(DockerImageName.parse("arizephoenix/phoenix:latest"))
.withEnv("PHOENIX_ENABLE_AUTH", "true");
| In Spring Boot applications, the Phoenix Dev Service runs this container with no code and sends the traces of the application to it. |