Skip to content
This repository was archived by the owner on Jun 16, 2025. It is now read-only.
This repository was archived by the owner on Jun 16, 2025. It is now read-only.

Disable temp file creation if enable_local_storage set to be False #1208

@liyakun

Description

@liyakun

Describe your environment.

  • Python version: 3.11.3
  • opencensus-ext-azure version: 1.1.9
  • Running environment: Docker container
    • Docker image: python:3.11-slim
  • Cloud provider: Azure Application Insight

Steps to reproduce.
Running application with AzureEventHandler integrated with Python logging, logging configuration file has the following related structure

"azure_event_handler": {
      "level": "INFO",
      "formatter": "info",
      "()": "opencensus.ext.azure.log_exporter.AzureEventHandler",
      "enable_local_storage": 0,
      "storage_path": "not_exist"
}

The reason that I want to disable the local storage is because my container has read only system, any writing should be disabled. However, the checking in

does not consider whether enable_local_storage is disable. The root cause is in which triggers and from here, it calls the process_options function again which will create the temp file.

What is the expected behavior?
No temp file should be created if enable_local_storage is set to False.

What is the actual behavior?
Temp file created even if enable_local_storage is set to False

Activity

jeremydvoss

jeremydvoss commented on Jun 20, 2023

@jeremydvoss
Collaborator

Looking into this.

jeremydvoss

jeremydvoss commented on Jun 27, 2023

@jeremydvoss
Collaborator

An easy workaround for read-only scenarios is to pass in a storage_path. Even though it won't be used, it will prevent the temp folder from being created.

liyakun

liyakun commented on Jun 27, 2023

@liyakun
Author

@jeremydvoss thanks for sharing this workaround, I actually tested it before, but it is not working. The reason basically is that

won't pass this storage_path along, only the enable_local_storage is kept.

My issue description seems not really precise, actually once enable_local_storage is checked at

, we don't really have to worry about the passing of storage_path argument in statsbeat.py.

jeremydvoss

jeremydvoss commented on Sep 15, 2023

@jeremydvoss
Collaborator

I see. Thanks for explaining. OpenCensus has been deprecated. I suggest migrating to our new OpenTelemetry Distro.

In the meantime, since the statsbeat exporter assumes it has the ability to create a temp file, you can try disabling statsbeat but setting the environment variable APPLICATIONINSIGHTS_STATSBEAT_DISABLED_ALL=true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Participants

      @jeremydvoss@liyakun@lzchen

      Issue actions

        Disable temp file creation if enable_local_storage set to be False · Issue #1208 · census-instrumentation/opencensus-python