[twitter-dev] What are reasonably focused track predicates?

2010-03-17 Thread Jonathon Hill
From the streaming API documentation:

Reasonably focused track predicates will return all occurrences in
the full Firehose stream of public statuses. Overly broad track
predicates will cause the output to be periodically limited.  After
the limitation period expires, all matching statuses will once again
be delivered, along with a limit message that enumerates the total
number of statuses that have been eliminated from the stream. Limit
messages are described in Parsing Responses.

My use case is tracking a set of users (follow), and in addition
monitoring a list of hashtags (filter). Several questions:

a) Does this qualify?

b) How many hashtags and/or followers would I have to track to
unqualify and start getting rate limited?

c) Do follow predicates get a higher priority? If I get rate limited
temporarily, what will be limited - the hashtags, the followers, or a
random combination of both?

d) If one of my hashtags becomes a trending topic, how does that
affect the streaming api limit?

Thanks!

Jonathon Hill
http://twitter.com/compwright


Re: [twitter-dev] What are reasonably focused track predicates?

2010-03-17 Thread John Kalucki
To clarify the taxonomy: The filter method supports three predicate types,
represented by the parameters track (keywords), follow (users), and
locations (geo). Track and locations are rate limited, but follow is not
rate-limited. Follow is never rate limited. If either location or track goes
over the threshold, the both turn off. I updated the wiki to be a little
clearer.

Most trending topics should be fine on the default access rate. But, if you
want to ensure that you get all of them, you'll should contact
a...@twitter.com for a higher access level.

-John Kalucki
http://twitter.com/jkalucki
Infrastructure, Twitter Inc.


On Wed, Mar 17, 2010 at 7:09 AM, Jonathon Hill jhill9...@gmail.com wrote:

 From the streaming API documentation:

 Reasonably focused track predicates will return all occurrences in
 the full Firehose stream of public statuses. Overly broad track
 predicates will cause the output to be periodically limited.  After
 the limitation period expires, all matching statuses will once again
 be delivered, along with a limit message that enumerates the total
 number of statuses that have been eliminated from the stream. Limit
 messages are described in Parsing Responses.

 My use case is tracking a set of users (follow), and in addition
 monitoring a list of hashtags (filter). Several questions:

 a) Does this qualify?

 b) How many hashtags and/or followers would I have to track to
 unqualify and start getting rate limited?

 c) Do follow predicates get a higher priority? If I get rate limited
 temporarily, what will be limited - the hashtags, the followers, or a
 random combination of both?

 d) If one of my hashtags becomes a trending topic, how does that
 affect the streaming api limit?

 Thanks!

 Jonathon Hill
 http://twitter.com/compwright



Re: [twitter-dev] What are reasonably focused track predicates?

2010-03-17 Thread Mark McBride
You will get all tweets up to a certain percentage of total tweet volume.
 To answer your questions in order

a) In the general sense, yes
b) It really depends on the specific hashtags and followers.  If you have a
bunch of trending hashtags followed you may run into limiting
c) both.  It's based on tweet volume
d) It doesn't except that you will likely see increased tweet volume from
that hashtag, and therefore a greater likelihood of being limited.

My suggestion is to try your full set of predicates.  If you see limit
messages, remove predicates until you reach a sustainable tweet volume.

  ---Mark

http://twitter.com/mccv


On Wed, Mar 17, 2010 at 7:09 AM, Jonathon Hill jhill9...@gmail.com wrote:

 From the streaming API documentation:

 Reasonably focused track predicates will return all occurrences in
 the full Firehose stream of public statuses. Overly broad track
 predicates will cause the output to be periodically limited.  After
 the limitation period expires, all matching statuses will once again
 be delivered, along with a limit message that enumerates the total
 number of statuses that have been eliminated from the stream. Limit
 messages are described in Parsing Responses.

 My use case is tracking a set of users (follow), and in addition
 monitoring a list of hashtags (filter). Several questions:

 a) Does this qualify?

 b) How many hashtags and/or followers would I have to track to
 unqualify and start getting rate limited?

 c) Do follow predicates get a higher priority? If I get rate limited
 temporarily, what will be limited - the hashtags, the followers, or a
 random combination of both?

 d) If one of my hashtags becomes a trending topic, how does that
 affect the streaming api limit?

 Thanks!

 Jonathon Hill
 http://twitter.com/compwright