Azure / apiops

APIOps applies the concepts of GitOps and DevOps to API deployment. By using practices from these two methodologies, APIOps can enable everyone involved in the lifecycle of API design, development, and deployment with self-service and automated tools to ensure the quality of the specifications and APIs that they’re building.
https://azure.github.io/apiops
MIT License
328 stars 193 forks source link

[FEATURE REQ] Extract Diagnostic Information per API #616

Closed DSpirit closed 3 months ago

DSpirit commented 3 months ago

Please describe the feature.

When specifying custom diagnostic information on API's, the configuration therefore is currently not extracted. Example configuration:

image

This should be supported from my POV, to be able to process a complete API extraction & deployment.

github-actions[bot] commented 3 months ago
  Thank you for opening this issue! Please be patient while we will look into it and get back to you as this is an open source project. In the meantime make sure you take a look at the [closed issues](https://github.com/Azure/apiops/issues?q=is%3Aissue+is%3Aclosed) in case your question has already been answered. Don't forget to provide any additional information if needed (e.g. scrubbed logs, detailed feature requests,etc.).
  Whenever it's feasible, please don't hesitate to send a Pull Request (PR) our way. We'd greatly appreciate it, and we'll gladly assess and incorporate your changes.
asimsoroya commented 3 months ago

Thanks for reporting, I am also experiencing this issue. Also, in sample, can you include full syntax of api and diagnostics I would request in sample config file full properties of API be listed. I am having difficulty publishing diagnostics as well, though extract pipeline is not generating diagnostics.

DSpirit commented 3 months ago

Not sure if I get you right, but here's a full response body from a configured applicationInsight diagnostic of an API: GET https://management.azure.com/subscriptions/***/resourceGroups/***/providers/Microsoft.ApiManagement/service/***/apis/***/diagnostics/applicationinsights?api-version=2022-08-01

{
  "id": "/subscriptions/***/resourceGroups/***/providers/Microsoft.ApiManagement/service/***/apis/***/diagnostics/applicationinsights",
  "type": "Microsoft.ApiManagement/service/apis/diagnostics",
  "name": "applicationinsights",
  "properties": {
    "alwaysLog": "allErrors",
    "httpCorrelationProtocol": "W3C",
    "verbosity": "information",
    "logClientIp": true,
    "loggerId": "/subscriptions/***/resourceGroups/***/providers/Microsoft.ApiManagement/service/***/loggers/ApplicationInsightsLogger",
    "sampling": {
      "samplingType": "fixed",
      "percentage": 100
    },
    "frontend": {
      "request": {
        "headers": [
          "My-Correlation-Id"
        ],
        "body": {
          "bytes": 8192,
          "sampling": null
        }
      },
      "response": {
        "headers": [
          "My-Correlation-Id"
        ],
        "body": {
          "bytes": 8192,
          "sampling": null
        }
      }
    },
    "backend": {
      "request": {
        "headers": [
          "My-Correlation-Id"
        ],
        "body": {
          "bytes": 8192,
          "sampling": null
        }
      },
      "response": {
        "headers": [
          "My-Correlation-Id"
        ],
        "body": {
          "bytes": 8192,
          "sampling": null
        }
      }
    },
    "tags": null
  }
}
guythetechie commented 3 months ago

Thank you, that was an oversight on our part. We'll address this.