This is a migrated thread and some comments may be shown as answers.

No Data

31 Answers 74 Views
Monitor integration
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
OfficeHeart
Top achievements
Rank 1
OfficeHeart asked on 06 Nov 2013, 03:04 PM
Hello,

Im set up EQATEC for icenium. I choose the right product and used the example code for icenium in de DeviceReady function.
Im running in the devicesimulator.
But still no data.

Thanks,
Martin

31 Answers, 1 is accepted

Sort by
0
Richard Flamsholt
Telerik team
answered on 06 Nov 2013, 03:52 PM
Hi Martin,

Unfortunately - and this should be emphasized in the documentation - the EQATEC Analytics plugin is inactivated for apps running in the simulator. Only apps running on an actual device, Android or iPhone, will generate analytics statistics.

Sorry about that. I'll get in touch with the Icenium team and discuss with them how best to communicate this shortcoming.

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 06 Nov 2013, 10:29 PM
Hello,

Unfortunately I deployed my application to my Android device, but still no data....

Thanks in advance,
Martin
0
Richard Flamsholt
Telerik team
answered on 08 Nov 2013, 01:56 PM
Hi Martin,

That's a bit odd. I can confirm that we haven't received any data. Could I please ask you to enable logging in the setup of Analytics and run your app from Graphite so the console.log output will be printed out and tell me the output - if it doesn't reveal the problem immediately to yourself, that is.

You enable logging by engaging the settings constructor:

      var factory = window.plugins.EqatecAnalytics.Factory;
      var settings = factory.CreateSettings(productId, version);
      settings.LoggingInterface = factory.CreateTraceLogger(); // will output to console.log
      factory.CreateMonitorWithSettings(settings, ....);

I hope this yields some info and also apologize for the late response.

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 08 Nov 2013, 02:23 PM
Hello,

The logger was already on. But there is nothing displayed.

Thanks,
Martin
0
Richard Flamsholt
Telerik team
answered on 08 Nov 2013, 04:41 PM
Hi Martin,

Is logging produced at all if you simply do a console.log() call just before creating and starting the monitor? And if you add logging to the create-method does it say whether the create succeeded or failed?

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 11 Nov 2013, 08:11 AM
Hi,

This is my code and the console says:
- Monitor created
- Monitor started

So everything look OK, but no data is send.
var factory = window.plugins.EqatecAnalytics.Factory;      
    var settings = factory.CreateSettings(productId, version);
        settings.LoggingInterface = factory.CreateTraceLogger(); // please log
        factory.CreateMonitorWithSettings(settings,
    function() {
     console.log("Monitor created");
     // Start the monitor
     window.plugins.EqatecAnalytics.Monitor.Start(function() {
       console.log("Monitor started");
     });
    },
    function(msg) {
     console.log("Error creating monitor: " + msg);
    });
0
Richard Flamsholt
Telerik team
answered on 11 Nov 2013, 10:00 AM
Hi Martin,

Thanks for this useful info.

I can see that in fact everything is not quite okay, because the monitor itself does not produce any logging in your example - only your own console.log appears. The Monitor.Start should have written some lines to to console.log by itself. Specifically, after start it should have written:

[Web Console] EqatecAnalytics: IAnalyticsMonitor.start: monitor started (plugins/com.telerik.plugin.eqatecanalytics/www/EqatecAnalytics.js:109)

The above is from an example I'm running within Graphite. Are you running within Graphite or Mist?

You could also try to setup your own logger and see if that gets called, and possibly append the output to a div in your app or something. Like this, where log is your own function:

settings.LoggingInterface = {
    LogError: function(errorMessage) {
      log("**** Error: " + errorMessage);
    },
    LogMessage: function(message) {
      log(message);
    }};

Also, a very basic question: are you sure your Android has an internet-connection? During development I've frequently found that my HTC device has lost connectivity and need a restart (or at least that's how I solve the problem).

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
Klaas
Top achievements
Rank 1
answered on 12 Nov 2013, 08:57 AM
Hi,

I added the logging interface, but no errors are logged.
Im sure my internet connection is OK.

Thanks
0
OfficeHeart
Top achievements
Rank 1
answered on 12 Nov 2013, 03:57 PM
Hi,

The previous post was under (a different) account of me.

But  I am not getting any further:

I added the logging interface, but no errors are logged.
Im sure my internet connection is OK.

Please  help!




0
Richard Flamsholt
Telerik team
answered on 12 Nov 2013, 04:42 PM
Hi Klaas,

I'll look into this first thing tomorrow Wednesday. I suspect there may be an issue with the Android-part of the plugin. I will get back to you as soon as possible.

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
Richard Flamsholt
Telerik team
answered on 13 Nov 2013, 12:01 PM
Hi Martin,

I have tried to reproduce this, but so far in vain. My suspicion about a possible flaw in the Android-part of the plugin turned out negative.

Could I ask you to try creating a minimal example to run on your Android? I.e. do this in Graphite:

1) Create a new project by Clone > Sample Projects > Eqatec Analytics
2) Enter your product id in that project's main.js file at the var-declarations near the top
3) Build and Deploy from Graphite to your cable-attached Android device
4) See if data comes through to your product within 5 minutes in live-mode on the dashboard

This will provide a valuable hint as to where the problem lies. Please reply back to me once you've tried this. I'm very keen to get this problem solved for you, too.

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 13 Nov 2013, 01:45 PM
Hi,

I followed these steps and there is indeed data in the live dashboard.

Does the equatec plugin need some core plugins?

-Martin
0
Richard Flamsholt
Telerik team
answered on 13 Nov 2013, 04:35 PM
Hi Martin,

Great to hear that you can get data out from your phone! Now that you've established that it works, the next step must be to make it work with your own app. I suggest you take a look at the sample app and maybe try to "merge" that code into your app.

I'm honestly very interested in learning why your own app didn't really work.

And no, the EQATEC plugin doesn't rely on other plugins.

Hmm. Maybe it could be a difference in settings! The plugin expects the cordova version to be 3.0. Could that be it? What version is your own app requesting?

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 14 Nov 2013, 10:05 PM

Hi Richard,



I did some trial and error. And my own code is exactly as the example app.

There is nothing logged on my android device. Also I noticed that no alert is shown on my device:



factory.CreateMonitorWithSettings(settings,
        function() {
         alert("Monitor created");
         // Start the monitor
        },
        function(msg) {
         console.log("Error creating monitor: " + msg);
        }


So it seems the equatec plugin doesn't work at all.



Furthermore I tryed the build this on IPhone, but I get the following error:

Link: Undefined symbols for architecture armv7:
  "typeinfo for short", referenced from:
      Poco::(anonymous namespace)::writeAnyInt(std::ostream&, Poco::Any const&) in libEQATECAnalyticsMonitoriOS.a(Format.o)
      short Poco::AnyCast<short>(Poco::Any const&) in libEQATECAnalyticsMonitoriOS.a(Format.o)


Can you please investigate our project and find out?



Thanks in advance,

Martin



0
Richard Flamsholt
Telerik team
answered on 15 Nov 2013, 11:36 AM
Hi Martin,

I think I have a clue to what's going on. It doesn't explain why you're not seeing the alert, but it may explain why you're not getting any data.

Icenium plugins (which are really Cordova/PhoneGap plugins) are asynchronous so to ensure that Create has really completed, you must call Monitor.Start inside the success-callback, not immediately after the call to Create. If you do that then the Create-call may not have run before you're trying to start the monitor, and moreover the logging hasn't been enabled yet so the Start-method has no way to report that it can't be called.

I've had this particular issue happen to myself: code that worked before suddenly didn't work because the device it ran on had slightly different timing. It was caused by calling two async plugin methods straight after each other, when in fact the second was dependent on the first having completed. In that case, the code must wait for that first call to complete and the best place to do so is in the success-callback.

So: try moving Monitor.Start into the Create success-callback.

As for your iPhone build problem I have one basic question to start with: is this from within Icenium or are you using the lib in a native iPhone app? I ask because I haven't seen this issue in Icenium before. In the latter case then you need manually to link in C++ by adding libstdc++ to your project if you're not already using C++ code (.mm files). See for instance http://www.cocoabuilder.com/archive/xcode/305347-linking-against-stdlibc.html

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 15 Nov 2013, 01:12 PM

Hi Ricard,

Thank you for getting back to us.



I moved the start function but no luck. For you convienence I build the application on an other device

(my nexus 7 2013). Still there no alert and no logging.



The iPhone build problem is also in Icenium, but let we first solve the first problem.

Although there could be an connection.



Martin



0
Richard Flamsholt
Telerik team
answered on 15 Nov 2013, 01:59 PM
Hi Martin,

Just a quick hint: the Icenium team has made a release a couple of days ago. If you're using Graphite you need to close and restart it again for it to be automatically updated. Are you running this newest version and if not, could you try to close/start Graphite and see if the problem is still there?

Regarding the iPhone issue: if you still can't build using this new version, could you then copy the log from the build process (that includes the linker error message) and send to me? Thanks!

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 15 Nov 2013, 03:33 PM

Hi Richard,



I already have the latest version of Icenium.



Here is my debugger output http://we.tl/PXoU5sFpUO



Hope you can help us. I am now struggling for a week with this problem.



Martin

0
Richard Flamsholt
Telerik team
answered on 18 Nov 2013, 02:21 PM
Hi Martin,

I'm sorry for all the problems you're seeing.

I might have some news, though. Your iPhone-log gave me the hint that you're publishing your app, not just running it using "Build and deploy" from within Graphite - right? And *that* build error we were able to reproduce! It seems that there is a missing c++ lib when publishing an app. We will fix this very soon, hopefully within a few days.

Publishing might be related to the Android issue, too. I will try to reproduce your scenario using publish instead of just build and deploy. Meanwhile, if it's easy for you then you could do the reverse, i.e. run your app just by doing Build and deploy and see if data comes out then, like it did in the sample app you tried. If that's so then I think we're on to something.

Also, we found and fixed a problem just recently related to logging not working anymore when an app was reloaded using the Licesync-mechanism on the device, e.g. the three-finger update. This could explain the missing logging. That too will be fixed within a few days.
 
Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 18 Nov 2013, 04:18 PM

Hi Richard,

That's not the case: I always do a Build and deploy. I only publish when I release a new version.



But good to hear that you can reproduce the error. Hopefully this can be fixed soon, because I want to use analytics in the new version.



Martin

0
Richard Flamsholt
Telerik team
answered on 18 Nov 2013, 04:25 PM
Hi Martin,

Ahh, wait a minute. Do you have Livesync enabled or disabled?

The C++ standard library was only missing for iPhone builds when Livesync was not enabled for the project, because Livesync too required the C++ std lib and enabling Livesync would therefore pull that lib into the app upon link time. That's why I didn't notice the problem, because by default I had Livesync enabled - and that masked the problem of the missing library.

Anyway, this should hopefully be fixed within a few days. Maybe even tomorrow. I'll keep you updated!

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 26 Nov 2013, 01:31 PM

Hi,

Do you have some news? I want to release my new version with equatec....



-Martin

0
Richard Flamsholt
Telerik team
answered on 27 Nov 2013, 02:44 PM
Hi Martin,

Sorry for taking so long to get back to you.

The bad news is that Icenium will not be released with the iPhone build problem fixed until December 10th. This is a very recent decision and I apologize.

The better news is that I have a viable work-around for you in the meantime: you can turn off the built-in Eqatec Analytics plugin and import this one explicitly instead which has the fix: https://dl.dropboxusercontent.com/u/39848/EqatecAnalytics_Icenium_3.2.57.zip. The link is to my private dropbox account and it contains the exact fixed plugin, which will be released in Icenium Dec 10th.

Here's how to do it for your project: turn off built-in Eqatec Analytics plugin, fetch and unzip this file, right-click Plugins, Import…, choose the zip-file EqatecAnalytics.zip that’s been unpacked from this 3.2.57 zip file.

To revert this and go back to the built-in version then simply revert the above, i.e. right-click the plugin, delete it, and then turn on the built-in Eqatec Analytics plugin again.

The downside of importing the plugin explicitly is that an explicitly imported plugin doesn’t work on the simulator or in Ion because neither supports custom plugins.

I realize this is certainly not optimal and I'm quite embarrassed that the fix takes so long to be released, but I'm afraid this is the best suggestion I can offer at the moment.

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 28 Nov 2013, 11:00 AM

Hello Richard,



Thank you for your download.



I can confirm that equatec works on my IPhone. It says Plugin created, monitor started and sent statistics.

Unfortunately on my android device it doesn't work. It says only Plugin created. And no data is sent.

So where are one step further. But I cannot release a new version, when its not working on my own device.

Hopefully you can help me fast.



Thanks,

Martin



0
Richard Flamsholt
Telerik team
answered on 29 Nov 2013, 09:40 AM
Hi Martin,

Good news: The Icenium team managed to push the fix onto production yesterday anyway, so the built-in Eqatec Analytics plugin should actually work now!

It would be awesome if you could try it out and check if it works as expected on your iPhone. I can't see a reason why it would work on the Android version if the standalone plugin you just downloaded and imported didn't work, but possibly it does. Could I ask you to please try it out (ie restart Graphite to get the new version and use the built-in plugin instead) and tell me if it makes a difference for your Android app?

I'm sorry about this long list of suggestions to "try this or that" and if it still doesn't work on Android with the real new built-in plugin then I'll dig into the details.

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 11 Dec 2013, 12:59 PM

Hello Richard,



I am sorry for the late reply. I was as at NDC London last week.



Unfortunately the new plugin sends no data on my Android devices. IPhone works fine.



Hopefully you can help!

Martin

0
Richard Flamsholt
Telerik team
answered on 13 Dec 2013, 09:12 AM
Hi Martin,

A month ago it seemed data was successfully sent out from a clone of the Eqatec sample project. There's been a couple of Icenium releases since then and maybe also changes to your application's code.

So, maybe it's time to step back and reestablish a "baseline" to work from? I.e. create a new project by cloning the (latest Icenium) Eqatec project sample and see that it can successfully report data from your Android phone to the Analytics server, using your application's product id.

If that works then the problem must lie in some difference between your application and the sample project and we'll take it from there. I would be happy to help you by taking a look at the Analytics code you've written in your application.


Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 13 Dec 2013, 09:26 AM

Hi Richard,



Can we please take one step further instead of backwards? Im struggling for one month with this problem.

The sample works on my android Phone, but not in my own project.

My own project works on IPhone. So there is somewhere somehow a problem with my project, android and the equatec plugin.

You can look into my Analytics code, it is just a copy of the documentation.



We can't proceed with equatec if this problem isnt solved very soon.



Regards,

Martin



0
Richard Flamsholt
Telerik team
answered on 13 Dec 2013, 09:53 AM
Hi Martin,

Sure, I just wanted to be completely certain that this was still the case.

I can best help you by taking a look at the code. Either by you sending me the zipped files or by inviting me to be a (temporary) collaborator on the project in Graphite, using Version Control > Invite Collaborators. If that's okay with you my github name is richard-telerik.


Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
0
OfficeHeart
Top achievements
Rank 1
answered on 13 Dec 2013, 10:16 AM

Hi Richard,



Geat that you can help us! The code is not on GitHub. how can I send you the zipfile?



Thanks,

Martin

0
Richard Flamsholt
Telerik team
answered on 13 Dec 2013, 10:31 AM
Hi Martin,

Ah yes, my bad - should of course have asked if the code was on github :-)

You can send the code to me personally at richard.flamsholt@telerik.com. Mind you, sometimes zip-files gets rejected so it's better to rename it to source.zip.removethis or something.

In case you didn't know, you can find the source for your projects at C:\Users\<you>\AppData\Local\Telerik\BlackDragon. Just zip me as much as you're comfortable with - the entire project folder would of course be best, but I understand if you're not at liberty to do that.

Regards,
Richard Flamsholt
Telerik
ICENIUM MONITOR AVAILABLE FOR DOWNLOAD.
Monitor and track applications built with Icenium at run-time. Reduce support by fixing run-time crashes as they occur, obtain user insights such as location and system configuration, find and remove application bottlenecks, and track which features are used most to help prioritize development.
Try Icenium with EQATEC Analytics today >>
Tags
Monitor integration
Asked by
OfficeHeart
Top achievements
Rank 1
Answers by
Richard Flamsholt
Telerik team
OfficeHeart
Top achievements
Rank 1
Klaas
Top achievements
Rank 1
Share this question
or