Be sure to put stuff like this that you want to share on 
http://www.web2pyslices.com <http://www.web2pyslices.com/home>. Searching 
the group for neat tricks is not something people generally do.

On Tuesday, April 23, 2013 6:21:33 AM UTC-7, Richard wrote:
>
> Of course, what could be done, make a variable container and differt the 
> insert?
>
> For my usage as far as I can see a db insert on each request is not the 
> bottle neck...
>
> But I understand for a bigger project it could be not praticable...
>
> Thanks
>
> Richard
>
>
> On Tue, Apr 23, 2013 at 8:50 AM, Anthony <[email protected] 
> <javascript:>>wrote:
>
>> I suppose because it does a db insert on every request.
>>
>>
>> On Tuesday, April 23, 2013 8:26:53 AM UTC-4, Richard wrote:
>>
>>> Guruyaya, could you explain why, to you, this basic simple usage stats 
>>> is unefficiant.
>>>
>>> Thanks
>>>
>>> Richard
>>>
>>>
>>> On Tue, Apr 23, 2013 at 12:26 AM, guruyaya <[email protected]> wrote:
>>>
>>>>  The idea seems extremly unefficiant. Wouldn't it make more sense to 
>>>> build it from logs, on a seperate machine? 
>>>>
>>>>
>>>> On Tuesday, April 23, 2013 1:08:02 AM UTC+3, Richard wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> I want to share this little snippet :
>>>>>
>>>>> # MODEL
>>>>>
>>>>> # Statistics of utilisation
>>>>> db.define_table('usage_**statist**ics',
>>>>>     Field('time_stamp','datetime', default=request.now),
>>>>>     Field('client_ip','string', default=request.client),
>>>>>     Field('user_id', 'reference auth_user', default=auth.user and 
>>>>> auth.user.id),
>>>>>     Field('request_controller','**st**ring', 
>>>>> default=request.controller),
>>>>>     Field('request_function','**stri**ng', default=request.function),
>>>>>     Field('request_extension','**str**ing', 
>>>>> default=request.extension),
>>>>>     Field('request_ajax','string', default=request.ajax),
>>>>>     Field('request_args','string', default=request.args),
>>>>>     Field('request_vars','string', default=request.vars),
>>>>>     Field('request_view','string', default=request.view),
>>>>>     Field('request_http_user_**agent**','string', 
>>>>> default=request.env.http_user_****agent),
>>>>>     Field('request_language','**stri**ng', default=request.env.http_**
>>>>> accep**t_language),
>>>>>     Field('description', 'text'),
>>>>>     migrate=False,
>>>>>     )
>>>>>
>>>>> # CONTROLLER
>>>>>
>>>>> def select():
>>>>>     """
>>>>>     Display log event into usage_statistics table.
>>>>>     """
>>>>>     db.usage_statistics.id.**readabl**e = False
>>>>>     table = SQLFORM.grid(db.usage_**statisti**cs, 
>>>>> orderby=~db.usage_statistics.**t**ime_stamp, ui='jquery-ui', 
>>>>> formstyle = 'divs',)
>>>>>     return dict(table=table)
>>>>>
>>>>> # VIEWS
>>>>>
>>>>> # Just put these two lines in ALL your views or only the views you 
>>>>> want to log and you can log what your users do!!
>>>>>
>>>>> {{db.usage_statistics.insert()****}}
>>>>> {{db.commit()}}
>>>>>
>>>>> *Only thing I didn't figured out yet is what the best way to log 
>>>>> delete event... I thought about that :*
>>>>>
>>>>> # Not tested and pseudo code
>>>>> def myeventlogcall(form)
>>>>>     if form.delete:
>>>>>         db.usage_statistics.insert()
>>>>>         db.commit()
>>>>>
>>>>> def update_functions():
>>>>> ...
>>>>>      form.process(ondelete=myevent****logcall)
>>>>> ...
>>>>>
>>>>> But, it makes things complicated if case there is already ondelete in 
>>>>> an update_function...
>>>>>
>>>>> Any suggestion is welcome.
>>>>>
>>>>> Thanks
>>>>>
>>>>> Richard
>>>>>
>>>>>  -- 
>>>>  
>>>> --- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "web2py-users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to web2py+un...@**googlegroups.com.
>>>>
>>>> For more options, visit 
>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>> .
>>>>  
>>>>  
>>>>
>>>
>>>  -- 
>>  
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "web2py-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to