Skip to content

Commit

Permalink
docs: publish v3.0 feature docs
Browse files Browse the repository at this point in the history
  • Loading branch information
stijnmoreels committed Jan 18, 2024
1 parent fff9f17 commit 1c6ef56
Show file tree
Hide file tree
Showing 14 changed files with 2,548 additions and 0 deletions.
32 changes: 32 additions & 0 deletions docs/versioned_docs/version-v3.0.0/01-index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: "Arcus Observability"
layout: default
slug: /
sidebar_label: Welcome
---

# Introduction

Arcus Observability allows you to work easily with Azure Application Insights telemetry by making use of the common `ILogger` infrastructure to track dependencies, log custom metrics and log multi-dimensional telemetry data. The library supports multiple telemetry types like tracking dependencies, requests, events, metrics, while also be able to filter with Serilog filters and enrich with custom correlation.

![Logger Arcus - Application Insights](/img/logger-arcus-appinsights.png)

# Guidance

- [Using Arcus & Serilog in ASP.NET Core](./02-Guidance/use-with-dotnet-and-aspnetcore.md)
- [Using Arcus & Serilog in Azure Functions](./02-Guidance/use-with-dotnet-and-functions.md)

# Installation

The Arcus.Observability.Correlation package can be installed via NuGet:

```shell
PM > Install-Package Arcus.Observability.Serilog.Sinks.ApplicationInsights
```

For more granular packages we recommend reading [the documentation](./03-Features/sinks/azure-application-insights.md).

# License
This is licensed under The MIT License (MIT). Which means that you can use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the web application. But you always need to state that Codit is the original author of this web application.

*[Full license here](https://github.com/arcus-azure/arcus.observability/blob/master/LICENSE)*
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: "Service-to-service correlation?"
layout: default
---

# Service-to-service correlation
The concept of service-to-service correlation is big and complex and spans multiple Arcus libraries. This user-guide will walk through all the available Arcus features that work together to facilitate service-to-service correlation in your application.

## What is service-to-service correlation?
Service-to-service correlation is a way to describe a relationship between different components where each 'component' represents a separate application. This could be, for example, an API call that results in an Azure Service Bus message that will be picked up by a message pump, or an Azure Function that calls an additional API after receiving a message from a queue.

Anytime one application calls another, that's where service-to-service correlation comes in. This way of correlation makes sure that the relationship of a single (business) transaction doesn't stop at the borders of one application or component, but continues in the other application. The end result is a clear overview of all the components involved.

![Arcus service-to-service application map](/media/service-to-service-correlation-application-map.png)

When using Arcus for service-to-service correlation, you'll see the this relationship in Application Insights in the [end-to-end transaction view](https://docs.microsoft.com/en-us/azure/azure-monitor/app/transaction-diagnostics):

![Arcus service-to-service correlation relationship](/media/service-to-service-correlation-relationship.png)

## Why should I use service-to-service correlation?
Adding service-to-service correlation to your application adds many advantages:
* ✔ Quickly spot performance bottlenecks and failures
* ✔ Clear overview of used (Azure) resources
* ✔ Effective architectural decision-making on application flow

## What Arcus components support service-to-service correlation?
Currently, we support service-to-service correlation with several types of components:
* [Arcus Web API](https://webapi.arcus-azure.net/features/correlation)
* [Arcus Azure Service Bus message pump/router](https://messaging.arcus-azure.net/)
* And [other built-in and custom dependencies](https://observability.arcus-azure.net/Features/writing-different-telemetry-types)

We're working on adding Azure EventHubs message pump to the mix.

> ⚠ Service-to-service correlation is only available for Azure Functions that run in-process. Out-of-process / isolated Azure Functions doesn't have (yet) the necessary built-in Arcus functionality to facilitate service-to-service correlation.
> ⚠ Service-to-service correlation is currently only supported for projects that uses Application Insights as their Serilog logging system. If you want to use Arcus' service-to-service functionality outside Application Insights, [please let us know](https://github.com/arcus-azure/arcus.observability/issues/new/choose).
## How do I add service-to-service correlation to my application components?
Service-to-service correlation should be added on both the sending and receiving components of your project so the internal Arcus functionality can link the request/response correctly in Application Insights. The following user-guides will go over the sending and receiving side of Web API's and Azure Service Bus resources:

* [Use service-to-service correlation in Web API solutions](use-service-to-service-correlation-in-web-api.md)
* [Use service-to-service correlation in Service Bus solutions](use-service-to-service-correlation-in-service-bus.md)
Loading

0 comments on commit 1c6ef56

Please sign in to comment.