microsoft / appcenter

Central repository for App Center open source resources and planning.
https://appcenter.ms
Creative Commons Attribution 4.0 International
1.01k stars 223 forks source link

Export crash/error data to Application Insights #339

Open alexaconstantin opened 5 years ago

alexaconstantin commented 5 years ago

Describe the solution you'd like Currently, it is possible to export only analytics data to Application Insights, you cannot export crash/error data to Application Insights. Exporting crash/error data is possible only to Blob Storage, but this is not convenient for data querying and identifying issues.

I would like to have support to export crash/error data to Application Insights.

Describe alternatives you've considered There are alternative solutions, but none of them is convenient:

  1. Do not export crash/error data - analyzing errors and crashes in AppCenter doesn't give powerful querying capabilities as Application Insights
  2. Export to Blob storage - same problem, it is difficult to query data
  3. Use AppCenter APIs - overkill, need to develop a separate tool just to efficiently query the errors/crashes
winnie commented 5 years ago

Hi @alexaconstantin - this isn't on our immediate roadmap but it's definitely on our radar. I'll keep an eye out on this thread and post with any updates. Thanks!

ksaunder commented 5 years ago

I would like to echo @alexaconstantin. We have all of our dashboards, queries and alerts coming from Application Insights for our web and desktop applications. It works great. However, because app center does not allow for the export of errors and crashes we cannot tie our Xamarin application into how we do everything else. Application Insights has an exceptions bucket where the crashes and errors would fit very nicely, it even has a handledAt field that is used to say if it was unhandled or usercode handled.

Please reconsider the priority of this feature or suggest some alternatives that would allow us to get the data into Application Insights. I am seriously considering having to write our own mechnism to translate the blob storage exports into app insights data.

sasivishnu commented 5 years ago

Hi, We also need this. Currently its limitation for us in choosing AppCenter -> Application Insigths workflow. It will be very helpful to export diagnostic/crash into Application Insights.

Please reconsider priority for this feature.

dimitarcnbs commented 5 years ago

Very important feature for mature products. I'm currently trying to export errors into blob and query it with PoweBI. Providing an easier solution that resolves this issue is needed at this stage of this product.

alexaconstantin commented 5 years ago

Hi @winnieli1208. Are there any updates on this feature request? I would appreciate if you could increase the priority considering that other users consider this very useful and there is no convenient workaround. Thank you!

winnie commented 5 years ago

Apologies for the delay. This is something we'd like to support in the future but unfortunately, I don't have an ETA. Our team is focused on the items listed on our roadmap at the moment. I encourage everyone to follow our roadmap and iteration plan to see what our team is up to.

I'll post here if I have any updates. Thanks!

Jspoors32 commented 5 years ago

I think this priority needs re-assessed, being able to export only analytics and not errors is quite a big shortfall of app centre. Errors are what most people would want to export out to application insights for querying. Currently, the crashes section of the app centre portal does not provide enough customization or ability to query data in any direct detail to compensate for this. So I think myself and a lot of people agree we would like to see this sooner rather than later. Thanks :)

aumanjoa commented 5 years ago

@winnieli1208 this is a very important feature I think @Jspoors32 nailed it quite well. is there a workaround possible, which you can provide some example scripts? Maybe copy errors via API´s ?

onurarpapay commented 5 years ago

We definitely feel the absence of this feature, please reconsider the priority of this request. Thanks!

asavvop commented 5 years ago

@winnieli1208 I think this very important for distributed solution, especially for logs correlation between back end and apps. The azure blob storage logs is simple unusable for large scale logging.

wickiie commented 5 years ago

We really need to have everything at ONE place, meaning exporting crash/error data to Application Insights is highly demanded!

winnie commented 5 years ago

Hey all - I understand Azure Blob storage isn't an ideal experience for many use cases. Our team would love to support this but we're currently working through our backlog and don't have the bandwidth for this feature at the moment. We are actively monitoring these feature requests to help us define our roadmap and I really appreciate all the helpful comments. Please continue to share your feedback.

@aumanjoa - we have a list of APIs for our diagnostics service listed here that will return your crashes and errors data but as mentioned, you would still need to do extra work for any querying or customizable functionalities.

dahlbyk commented 5 years ago

It seems that UnhandledErrorLog and HandledErrorLog events are created at the time of a crash/error, respectively, but with little information beyond the timestamp and normal device telemetry. It would be great if those events could at least include the crash/error group identifier that's used in the AppCenter URL. It would be even better to track them as AppInsights exceptions instead of customEvents (but with correct user_Id/session_Id; cc #151) with proper stack trace and custom properties.

felipebrito1 commented 5 years ago

Hi @winnieli1 ! This feature was implemented?

PS: Not sure if this is the best place for this issue.

The "HandledErrorLog" event, on the Application insights portal, exists two properties: "User Id" (Custom Event Properties section) and "UserId" (Custom Properties section).

What information is this?

In the application, it was called only the method "Crashes.TrackError (ex);"

Regards.

andrewleader commented 5 years ago

@felipebrito1 hmm it indeed does seem like errors are coming through as Events in Application Insights, with the event name HandledErrorLog! However, there's zero useful info in the event... not even the exception type, message, or method that it failed at.

image

As for the difference between User Id and UserId...

User Id == The App Center auto-generated identifier to track the user (so you can correlate events performed by that user. It's in the format of a GUID.

UserId == Whatever you specified when you call AppCenter.SetUserId(accountId.ToString()). I set that to my user's online account ID, so when a user has an issue, I can look up any errors they had in App Center by searching by their User ID (account ID in my case). This property unfortunately doesn't get set on custom events though.

Brosten commented 4 years ago

I can see your roadmap isn't updated for 2020 yet. I really hope to see this feature in the 2020 roadmap.

ferrydeboer commented 4 years ago

Would love to see this as well! I wanted to create specific alerts on the exceptions, but this ain't possible without the information available. Coding this ourselfs is not really a viable option.

wouterattoptal commented 4 years ago

Yep, I'm waiting patiently for this as well...

Maverick1st commented 4 years ago

So it's almost a year, since this feature was request in first place, but it still did not make in on the roadmap? I just used up a lot of time to get export of errors and crashes to blob storage, hoping that there is a way to get the blob storage into azure analytics without great effort, but unfortunately support told me in the end of this process that what I want is not possible yet. I do really hope that there will be a short term solution for this issues.

marioingemann commented 4 years ago

Does anyone have a workaround for this using blob storage export?

I also agree with others, this is important for our team since we are trying to use application insights as single source for analytics and troubleshooting.

wouterst79 commented 4 years ago

I'm logging an analytics event every time I log an exception

jstawski commented 4 years ago

We are in need of this feature as well... or maybe a better and easier way to search errors within App Center

mxstudios commented 4 years ago

I'm logging an analytics event every time I log an exception

This is really going to be the only solution. Currently I am running an Azure Function that calls the API and inserts them into Table Storage. Now I'm trying to figure out how to get them into App Insights. I can't believe we can't do this easily. I also have them all dumping into a single blob storage account that I configured through the REST API since you can't choose to exclude the analytics data unless you do that. So now I have data both in Table Storage and Blob storage, but not in App Insights. So frustrated.

fraxedas commented 4 years ago

In my team, we are logging a custom event whenever we log an error: Crashes.TrackError(ex, dictionary); Analytics.TrackEvent("HandledErrorDuplicate", dictionary); It duplicates the error information, but the error data in the dictionary will end up in App Insights.

mxstudios commented 4 years ago

I am now doing this. But we can't get all the information that is in the crash logs into an event. Doing the best we can, but it's not ideal. Would like to be able to use the Exceptions area of App Insights like we do for web and services.

TDishop commented 4 years ago

Definitely need error information exported to application insights. My app uses primarily errors instead of crashes. The error comes over simply as HandledErrorLog with no pertinent content. Will try to log a custom event to improve the situation for now. Had also considered logging the error directly to application insights. Not sure if there would be issues trying to match a user reported via app center export vs user reported via directly error log to application insights.

alexaconstantin commented 4 years ago

Hi @winnie, are there any updates on this?

Jitendrakandpal11 commented 4 years ago

Hi @winnie, any update on this, please.

PeterJarrettUK commented 4 years ago

I see that exceptions are now being passed to App Insights, but not having crashes sent over is a big step backwards - the older HockeyApp product did used to include that feature, and our monitoring displays are built to pull the telemetry from AI, so would be a big step forward to have this feature included going forward.

alexaconstantin commented 4 years ago

Hi @winnie, are there any updates on this?

winnie commented 4 years ago

Hey all - I don't have any updates. Our team is focused on improving reliability and performance for App Center for the rest of the year and to around mid-2021. Because of this, we won't be making much progress around most feature requests.

Fampov commented 4 years ago

Big need and desire for this functionality. I get needing to postpone requests until mid-2021, but I really hope this is at the top of the list once requests start being implemented again.

ramit-2343113 commented 3 years ago

We have been waiting for this feature for quite some time now. We ended up using another tool for analyzing crash and error logs.

tijlreynhout commented 3 years ago

We would also need this feature!

sirmmacias commented 3 years ago

As mentioned before, the crashes and errors exported to insights don't take enought information, it should take the error message and the stacktrace for instance into the custom properties of the events generated. please review this.

RayBrack commented 3 years ago

This is such an essential feature and yet almost 2 years later it still hasn't been implemented. Can't believe this hasn't risen to the top of the pile yet.

fareshan commented 3 years ago

+1

ghost commented 3 years ago

This issue has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs within 15 days of this comment.

ramit-2343113 commented 3 years ago

+1. To point out this not stale and should not be auto-closed.

manfredczujan commented 3 years ago

+1. To point out this not stale and should not be auto-closed !! Pls. review your Backlog and give priority to this feature

stealthjong2 commented 3 years ago

+1 Please consider implementing this issue. With HockeyApp at least there were fewer limitations, so we could just log stacktraces to Application Insights, but with AppCenter, we can't even do that.

thisisthekap commented 3 years ago

The lack of this feature is making the AppCenter --> Application Insights integration unusable for production ready failure maagement.

munkii commented 3 years ago

The lack of this feature is making the AppCenter --> Application Insights integration unusable for production ready failure maagement.

@thisisthekap I agree with you but I was wondering if are you using anything else in the meantime to plug the gap?

wouterst79 commented 3 years ago

since it works for analytics, i'm writing an analytics event every time a crash occurs -> makes all crashes show up in application insights

thisisthekap commented 3 years ago

I am using a custom NLog target to log directly to application insights (not the one provided by microsoft, because it does not support proper metadata attribution). AppCenter is used for reporting actual crashes, which are created automatically as Azure DevOps work items.

slurpo commented 2 years ago

Any news to add this feature in export?

jfranki commented 2 years ago

I was wondering why the Failures section of our app's Application Insights was empty after several app crashes... well now I know why.

With MAUI gaining traction (along with Windows App SDK), I hope this and other issues are addressed and Microsoft puts much more resources in App Center development. However, until a major announcement from the App Center team (if there is one) I won't hold my breath for this to be resolved.

stealthjong2 commented 1 year ago

Any updates on this? It's been almost four years since this issue opened, and I'm still puzzled why this is not considered an essential part of logging. AppCenter itself lacks the extensive querying possibilities of AppInsights, rendering it nearly useless to do troubleshooting with.

cosminstirbu commented 1 year ago

For anyone willing to spend some effort and $$, we've implemented the following workaround:

  1. Enable integration with storage account (including raw crashes / errors - "export_entities": [ "crashes", "errors" ])
  2. Use a logic app with an event grid connector, a get blob content and a send data to log analytics workspace actions
    • You might have to do some filtering at the Event Grid System Topic Subscription level or at the Logic App level (sample path for an error archive/2023/01/30/15/01/errors/aa1310fd-2df9-41d5-8d9b-9da51bd6a667.json, sample path for a crash archive/2023/01/30/15/01/crashes/3a2d0075-1949-4369-8733-53ce59aa41ac.json)
  3. Profit
fareshan commented 1 year ago

I think you should use Sentry (instead of appcenter) as they added support for Xamarin