When is profiling done?

Asked by SteveCronin

At what point in the process does the profile occur?

If I decline an update is a profile sent?

If I check but there is no update is a profile sent?

What are the conditions that a profile is NOT sent?

Thanks for any help!
Steve

Question information

Language:
English Edit question
Status:
Answered
For:
Sparkle Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
SteveCronin (steve-cronin) said :
#1

I'm not seeing the database records being created..

How do I debug whether what is happening with the sending of data.

Is there any way to turn on logging to get picture of what is happening.

May

Revision history for this message
SteveCronin (steve-cronin) said :
#2

OK I keep plugging away..

I have discovered $debug in the php stuff and turned it on for now

If I type the url of the profileInfo.php into a browser window, what happens is the browser renders a normal looking RSS page that is the appcast.xml....BUT the thing isI don't see any debug info in the page?

In the docs for setting up profiling it says:
"...Then upload profileInfo.php and profileConfig to your web host. The URL to profileInfo.php should match the URL you entered in your app's Info.plist for the SUFeedURL key...."

I just don't understand that at all. Does that mean that I should change the string in in info.plist so that it IS the url to the profileInfo.php file (eg http://www.example.com/.../profileInfo.php"? If NOT that what does this sentence mean? I have set it both ways and neither results in anything but a RSS page, no debug data in the page and no record in the database...

Arrrgghh! Can someone take pity on me and give me the headslap I need!
Steve

Revision history for this message
Andy Matuschak (andymatuschak) said :
#3

"At what point in the process does the profile occur?"

The profile is sent when your app fetches the appcast—when it checks for updates.

"If I decline an update is a profile sent?"

Yes.

"If I check but there is no update is a profile sent?"

Yes.

"What are the conditions that a profile is NOT sent?"

A profile is NOT set if you do not explicitly enable profiling or if the user asks not to be profiled in the initial "would you like to check for updates" dialog which is presented on second launch.

"Is there any way to turn on logging to get picture of what is happening."

Sorry, not really, at least from the client's side. But the framework has debugging symbols.

"In the docs for setting up profiling it says:
"...Then upload profileInfo.php and profileConfig to your web host. The URL to profileInfo.php should match the URL you entered in your app's Info.plist for the SUFeedURL key....""

profileInfo.php basically acts like a proxy for your appcast: it records the profile information passed via GET and then returns the data located at $appcastURL as set in profileConfig.php.

Consequently, you should set SUFeedURL to the URL of profileInfo.php.

Unfortunately, I didn't write the PHP backend for the profiling information, so I can't help you much more than that. If you still need help, you might email Tom Harrington via atomicbird.com. Alternately, you can always roll your own backend—all you need to know is that the profiling parameters are transmitted via GET when the appcast is fetched.

Revision history for this message
Rudy Boonstra (rboonstra) said :
#4

Andy... I am having the same issue that Steve has and was not able to find a method to confirm that my application is indeed sending the update data. I wrote a small test application to try this out, but still was not able to get it to work properly. A few questions:
1. I could not determine how to view the debugging symbols you mention above with the new app I created in xCode.
2. Is it possible to add a NSLog to the framework that logs to the console each time an update is done and includes the full path of the URL (including GETs if any) so it can be used in debugging.
3. Is the source code available for the test application... or would you consider adding a text box to the test application so that one could insert their own URL in there instead of the default one?

An excellent framework... thanks for all your efforts...

Rudy

Revision history for this message
Andy Matuschak (andymatuschak) said :
#5

1. Build Sparkle.framework with the Debug build configuration. Then you'll be able to break in SUUpdater.m.

2. At the bottom of checkForUpdatesWithDriver in SUUpdater.m, add NSLog(@"%@", [self parameterizedFeedURL]).

3. The source code is included in the distribution. You can change the feed it's checking by changing SUFeedURL in the test application's Info.plist.

Revision history for this message
Andy Matuschak (andymatuschak) said :
#6

Also, you can readily confirm that Sparkle's sending the profiling data by checking your webserver's access logs.

Revision history for this message
Rudy Boonstra (rboonstra) said :
#7

Group.... Thanks to Andy for his advice above. My problem was that I was updating my app with a newer version of Sparkle and I needed to delete the preferences file in ~/Library/Preferences/.. in order to reset the application preferences so that the query window comes up that asks for permission to send data. The other trick that I did not catch right away was that one needs SUEnableSystemProfiling set to YES in the info.plist file and then you link SUSendProfileInfo to a checkbox in your application preferences. Thanks again... and hope this helps others... Rudy

Can you help with this problem?

Provide an answer of your own, or ask SteveCronin for more information if necessary.

To post a message you must log in.