Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Azure resource providers #1228

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

zeitlinger
Copy link
Member

@zeitlinger zeitlinger commented Mar 14, 2024

Fixes #1214

Testing:

Has not been tested in a real setup yet - but all implementations are based on the existing resource providers in other languages.

Documentation:

done

Outstanding items

Owner

Need component owners. I can be one of them.

Host image attributes

VM seems to support host.image related attributes

  • host.image.id =
  • host.image.name =
  • host.image.version =

(from https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service?tabs=linux)

            "imageReference": {
                "id": "",
                "offer": "UbuntuServer",
                "publisher": "Canonical",
                "sku": "16.04.0-LTS",
                "version": "latest",
                "communityGalleryImageId": "/CommunityGalleries/testgallery/Images/1804Gen2/Versions/latest",
                "sharedGalleryImageId": "/SharedGalleries/1P/Images/gen2/Versions/latest",
                "exactVersion": "1.1686127202.30113"
            },

does that make sense?

Stop VM detector fast

Right now, the VM detector has a timeout of 1s - which means that it will block the startup process by 1s if we're not running in an Azure VM. How can we avoid that?

INFO: AzureVmResourceProvider.createResource took 1388 ms

An idea is to look for the /etc/resolv.conf file on linux - and some special registry key on windows.

Is that really the best option?

@zeitlinger zeitlinger requested a review from a team March 14, 2024 14:47
@zeitlinger
Copy link
Member Author

@trask here's my first attempt - can you help with testing?


The following OpenTelemetry semantic conventions will be detected:

| Resource attribute | VM | Functions | App Service | Containers |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we add aks (azure Kubernetes service)?

Copy link
Contributor

@heyams heyams Mar 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zeitlinger do you think it's a good idea to add AKS?

cloud.provider=Azure
cloud.platform=azure_aks
cloud.resource_id=${armId},
cloud.region=${armRegion},
k8s.cluster.name=
k8s.namespace.name=
k8s.node.name=
k8s.pod.name=
k8s.pod.uid
k8s.container.name

k8s.deployment.name
k8s.deployment.uid

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, definitely. So far, I've started with the existing implementations in other languages.

Can you point me to a starting point to implement an AKS provider?

@zeitlinger
Copy link
Member Author

@trask can you check?

Copy link
Contributor

@breedx-splk breedx-splk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems good to me, once we get the component owners dialed in. Nice to have some vendor coverage.

@zeitlinger zeitlinger force-pushed the azure-resource-provider branch from ecb2125 to 1d41f6f Compare December 12, 2024 09:18
@zeitlinger zeitlinger requested a review from a team as a code owner December 12, 2024 09:18
@zeitlinger
Copy link
Member Author

@breedx-splk please check again


import io.opentelemetry.api.common.AttributeKey;

// copied from opentelemetry-semconv-incubating
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the motivation in copying instead of depending?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's a policy that library instrumentation must not depend on incubating libraries - all other contrib modules do that too

@breedx-splk
Copy link
Contributor

breedx-splk commented Dec 13, 2024

@breedx-splk please check again

Still looking good to me....though it would have been nice not to have a bunch of extra new additional code to review after an approval. 😅

@zeitlinger
Copy link
Member Author

@breedx-splk please check again

Still looking good to me....though it would have been nice not to have a bunch of extra new additional code to review after an approval. 😅

sorry - the PR was created before the new semconv policy - didn't spot that before

@zeitlinger
Copy link
Member Author

@breedx-splk should work now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add resource provider for Azure
4 participants