Application Insight : Javascript SDK - azure

I have noticed that the user location reported via Application Insight is very unreliable.
It is reporting my location in different state, Whereas when using WhatisMyIP it is able to accurately report my location.
Why such a difference with Application Insight ?
Here is what Appliction Insight Reports:
Here is the accurate location reported by WhatIsMyIP

Application insights uses the GeoLite2 from MaxMind for IP and geolocation lookup.
And I tested it at my side by using GeoLite2 and also use WhatIsMyIP, they show me the different locations. So I guess the database for these 2 tools may different and cause this issue.
Hope it can help you.

Related

Share point - usage data/reporting

I do reporting/analytics for site usage and engagement for a share point online site with my company. I currently run the usage logs manually from site audit reports and the process is very time consuming and not always accurate. Does anyone know a better way to get these logs? Also has anyone had success in implementing a 3rd party platform to capture site visits like google analytics? We have tried to implement Matomo, but not much success.
#B1landry,
You may have a try Azure app insight, provides similar functionality to Google Analytics with the advantage of keeping your data in the same ecosystem.
Check below docs to get started:
https://sharepoint.handsontek.net/2019/02/19/how-to-add-application-insights-to-sharepoint-without-modifying-the-master-page/
https://learn.microsoft.com/en-us/azure/azure-monitor/app/sharepoint
https://learn.microsoft.com/en-us/answers/questions/246834/how-can-i-setup-a-sharepoint-online-site-usage-mon-1.html
BR

How can I specify the memory for google cloud functions emulator?

Is there a way to specify the memory used by firebase functions when running locally through the emulator? I know it can be done in google cloud (which I have done and can see my functions are working) but im not able to see anything in the documentation and I suspect low mem is causing issues in performance when running locally.
It seems this is not publicly documented and we can assume that this is not currently possible. You can file a Feature Request in the Public Issue Tracker. With every feature request, the Engineering team has more visibility of your needs and they can work on them accordingly to the impact on the users. This is the importance to look first for an existing one. I have searched but not found any, so I think the best way to proceed in this case is to create a new one. Please as much details as possible about how would you like to work this feature and if you found any workaround, so, the community in the PIT can implement it.

google analytics a/b testing with 2 site instances.

I am getting ready to release a new web site in the coming weeks, and would like the ability to run multivariate or a/b tests between two version of the site.
The site is hosted on azure, and I am using the Service Gateway to split traffic between the instances of the site, both of which are deployed from Visual Studio Online. One from the main branch and the other from an "experimental" branch.
Can I configure Google analytics to assist me in tracking the success of my tests. From what I have read Google analytics seems to focus on multiple versions of a page within the same site for running its experiments.
I have though of perhaps using 2 separate tracking codes, but my customers are not overly technically savvy, so I would like to keep things as simple as possible. I have also considered collecting my own metrics inside the application, but I would prefer to use an existing tool as I don't really have the time to implement something like that.
can this be done? are there better options? is there a good nugget package that might fulfil my needs? any advice welcome.
I'd suggest setting a custom dimension that tells you which version of the site the user is on. Then in the reports you can segment and compare the data.

Flurry error reporting vs other error reporting services such as Crittercism & Crashlytics etc

We are evaluating various error reporting services for iOS and Android apps. Our app uses webservices to connect to the server.
We currently use Flurry analytics but have not yet used their new error reporting feature.
What is your feedback on Flurry error reporting, if you are using that today?
I am trying to compare it with Crittercism and Crashlytics. So, if anyone out there have experience using Flurry error reporting and Crittercism or Crashlytics, it would be great to hear your feedback.
Thanks.
While this question is likely more suited for a forum, I'll do my best to answer your question from my experience with these technologies as well as what I've heard from others. First lets look at what these services provide for Crash Reporting, then lets look at what they provide that ties into Crash Reporting.
Flurry provides (at a high level):
Analytics of event based metrics (this includes optional basic crash reporting)
server-side symbolication (however uploading symbols is a manual process)
All this is great, but they really don't focus on crash reporting at all or how that ties into other metrics.
Crittercism provides (at a high level):
real-time insights on reports (system diagnostics, logs, etc)
smart crash/error grouping
error monitoring with actionable diagnostic information
logging non-volatile errors
server-side symbolication for stack traces
location correlation with above metrics
session based metrics for a crash report
client perspective network performance data (note: this would be great to keep track of your web services and other 3rd party services, such as Flurry, to see how they're performing)
trends of above metrics and data
connection between network calls and crash/error reports (look at breadcrumbs)
See the above link for more details on the full package that Crittercism provides. For more details on some of the features, check out this page.
All of these are focused on giving you full visibility on how your app is performing for each of your users.
Crashlytics provides (at a high level):
smart crash/error grouping
error monitoring with actionable diagnostic information
server-side symbolication for stack traces
logging non-volatile errors
real-time insights on reports (system diagnostics, etc)
Flurry can be paired with more robust solutions for Crash Reporting and in my experience most end up taking this route.
Crittercism provides a lot more than just Crash Reporting that ties back to optimizing the performance of your applications with actionable data. They also hook into Mobile-ready support systems (such as UserVoice and HelpShift) for better customer communication, and several task management systems for engineering (JIRA, Github, Pivotal). Server-side symbolication, APIs to pull data, simple integration with build tools (such as Jenkins) provide a much more mature solution.
Crashlytics provides an easy integration for the average developer. I've heard complaints from developers with more defined build processes (such as something that uses Jenkins) that their app integration for uploading symbols for symbolication gets troublesome.
They also provide integrations with JIRA and Github. Not sure at what level.
Some love the UI for Crashlytics, whereas others have stated that it gets in the way.
Hope this helps.
I have been using Crashlytics pretty much since it first launched for Android and iOS. It's a pretty impressive system with some massive pros:
Extremely lightweight library
Compatible with major development environments
Real time insights
Crash grouping
Individual crash breakdown
Tagged with user information
Custom keys/logging
Email alerts
Impact level changes
New bugs
Daily summary reports
User management for sharing access
It's free
There is also a split between crashes and non-fatals which means you can report handled exceptions back without having the app crash. For example, in our Logging class we have this method which gets called when an exception could happen, but shouldn't. This means that we have a breakdown of how often this happens and we can work towards resolving it:
// Android
public static void log_wtf(Throwable throwable)
{
Log.wtf("Log", throwable.toString());
// Also log this exception to Crashlytics
Crashlytics.logException(throwable);
}
I particularly like the crash breakdown which lets you see each individual crash report from a group of reports. You can ask the users to use their name, or do what we do and sign it with their login credentials for our service (see the user info on the right):
This is invaluable information for us which allows us to easily and quickly reproduce the error.
You also get a version breakdown which you can disable at a later point. For example, if we have just finished a test of alpha version 0.1 (1), you can turn logging off for that version and launch version 0.2 (2). If someone forgets to update their application you will not be notified of anything from that point. Obiviously this isn't good when your app is in production, but useful for testing phases.
While I haven't tested it they have integrations for other services including your own web hooks if you wish to develop something to support it. It's in my plans to do this to automatically create trac bug tickets, however I haven't got around to it yet!
Oh, and finally, let's not forget the sweet animations crashlytics employs throughout it's software.
I would recommend going with Crashlytics. They have the smoothest onboarding process of any error reporting software. It's very easy to setup and incredibly intuitive to use. The reporting is immediate and spot on. They also have the best console UI of the bunch. I've used them now at Evernote, HomeAway, and my own apps and I've never ran into any problems. They also have a great support team that responds very very quickly, normally within minutes to inquiries.
I've also used Flurry in the past, for event tracking, with mixed results. Their numbers always seemed to be a bit off. You also have to go through and add start/stop events in every activity which can be a pain.
I exclusively use Crashlytics for my day to day app crash reporting. The UI at times can be a little flashy and navigating the site is sometimes a hassle but overall they provide a reliable and well built product. It's certainly useful when distributing app betas and as an intermediate to advanced iOS developer, I've never had any problems integrating their SDK.
Pros:
immediate crash reports
real time insights
interaction time is minimal i.e. the time spent once a crash email is received to the bug being fixed is small. On average I spend 30 seconds - 5 minutes on every crash report simply because Crashlytics makes it very easy to find my bugs.
great customer support
installation is a breeze
lightweight
Cons:
UX on the website isn't as refined as it could be
navigating the website takes some getting used to.
I work for Grid, an iOS app startup based in San Fran and we use Crittercism there but all in all, Crashlytics is the one I end up using. It comes down to ease of use and they've got that nailed down.
EDIT:
Crashlytics was also recently bought by Twitter so there's plenty of talent and infrastructure there.
I've not used Crittercism or Flurry for crash/error reporting, but have been using Crashlytics since its inception. I'm not convinced there's a better crash reporting solution at this point.
Reasons why I think Crashlytics is great:
Super lightweight
Super easy integration
Awesome stack unwinding
Ability to provide custom logging
Web UI response has greatly improved
Provides symoblicated stack trace
Smart culling of crashes on web UI
Easy crash searching on web UI
Basic stats via web UI
At the end of the day, it comes down to what tool works best for you.
As said before Flurry don't focus on crash reporting at all or how that ties into other metrics
Before Crashlytics android's release I was using Flurry but had some problems with documentation and support (you can see here) and they didn't corresponded as I wished.
In my case, crash and errors are a very critical point cause, so Crashlytics worked like a charm.
A good documentation
Great support
Easy Configuration
Real time insights (Flurry hasn't)
In short, I have not experienced nothing better than Crashlytics yet (Talking about Error Reporting)
I use Crashlytics since a year now (edited July 2014), and the system is really awesome.
Realtime crash report works very well, with their reports we are able to fix them really quickly, it's a huge & priceless feature ! CL solution is available on multiple platforms, it's really easy to plug it in XCode 5, Eclipse or IJIdea with less than 5 lines of code.
You can create multiple enterprise, to separate your projects, just with a couple of clicks
I have to mention that support team is fabulous, I've exchange dozen of mail about it and their answer always solve my little probs.
It's completely free, own now by Twitter, and very very light.
I gave a conference about Craslytics solution a month ago, slides are available on my speakerDeck profile here.

How does one use a different LightSwitch database connection string per user and environment?

I develop software in a multi-programmer source controlled world (TFS). Moreover, I have multiple environments (i.e. individual desktop developer machines, QA and production in the Azure cloud). The problem is, I'm unsure as to the best way to use different database connection strings for each environment. I realize that I can manually update the web.config for the Server project but that causes a clash when check-in occurs. This is a pretty critical issue for our team, so any help in this regard would be greatly appreciated. Thanks....

Resources