Step 1: Clone the Repository

Begin by cloning the repository to your local machine. Use Git for this operation:

git clone https://github.com/open-telemetry/opentelemetry-dotnet.git
cd opentelemetry-dotnet

Step 2: Restore Dependencies

After cloning the repository, restore the dependencies for the project using the .NET CLI. This command will look for the dependencies defined in the .csproj files and install them.

dotnet restore

Step 3: Build the Project

Once the dependencies are restored, you can build the project. The following command compiles the code in the project and ensures there are no errors:

dotnet build

Step 4: Run the Tests

Testing is an essential part of the development process. Run the unit tests for the project to ensure everything is working as intended:

dotnet test

Step 5: Start the Project

To start the project, navigate to the specific project directory you want to run. There are different projects within the repository, such as src or samples. Here is how to start an example sample project:

cd samples/AspNetCoreExample
dotnet run

Ensure the correct project is specified in the cd command. If you want to start a different project, adjust the path accordingly.

Step 6: Accessing the Running Application

After running the above command, the application should be live. Generally, you can access it in your web browser at:

http://localhost:5000

The port may vary based on the specific configurations set within the project.

Step 7: Using Docker (Optional)

If you prefer to run OpenTelemetry within a Docker container, use the provided Dockerfile. Ensure you have Docker installed on your machine. Build the Docker image using the command:

docker build -t opentelemetry-dotnet .

Then, start the container:

docker run -p 5000:5000 opentelemetry-dotnet

You can again access the application in your web browser at http://localhost:5000.

Conclusion

By following these steps, building and starting the OpenTelemetry .NET project will allow you to test and explore its features effectively. Always refer to the official documentation for more advanced configurations and options.

Sources: