[collectd] Queries with `sum(something) as this' don't work on dbi plugin (SQLServer)
Daniel Hilst
danielhilst at gmail.com
Tue Apr 2 21:41:28 CEST 2013
On 02-04-2013 16:31, Daniel Hilst wrote:
> On 02-04-2013 12:19, Daniel Hilst Selli wrote:
>> I'm facing this error
>>
>> [2013-04-02 12:13:21] [error] dbi plugin: Column `log_reads': Don't know
>> how to handle source type 4.
>> [2013-04-02 12:13:21] [error] dbi plugin: cdbi_read_database_query
>> (MSSQLServer, teste_query): cdbi_result_get_field (1) failed.
>>
>> While using this dbi block
>> <Plugin dbi>
>> <Query "teste_query">
>> Statement "select sum(total_logical_reads) as log_reads
>> from sys.dm_exec_query_stats"
>> <Result>
>> Type "gauge"
>> ValuesFrom "log_reads"
>> </Result>
>> </Query>
>>
>> <Database "MSSQLServer">
>> Driver "freetds"
>> Hostname "orisnet.verzani.com.br"
>> DriverOption "host" "192.168.5.18"
>> DriverOption "username" "SA"
>> DriverOption "password" "Paxazx01"
>> Query "teste_query"
>> </Database>
>> </Plugin>
>>
>> The problem is with things like this `sum(something) as this' I just
>> can't get it working.. The query works fine on SSMS and retruns only one
>> line and one column, Any idea?
>>
>> PS: I'm trying to monitor the reads/writes and worker time on MS
>> SQLServer..
>>
>> Regards,
>>
>
>
> I track the problem...
> This message
> 'dbi plugin: Column `log_reads': Don't know how to handle source type 4'
> Comes from here [1]. Seems that libdbi is returning something unexpected
> by dbi plugin.
>
> The type for stands for DBI_TYPE_BINARY here [2] line 114
>
> [1] https://github.com/collectd/collectd/blob/master/src/dbi.c#L132
> [2]
> http://libdbi.cvs.sourceforge.net/viewvc/libdbi/libdbi/include/dbi/dbi.h.in?revision=1.13&view=markup
> line 114
>
>
> So, I think, SUM() would return integer types, but for libdbi, don't,
> I'm digging deeper on this..
>
> :-)
>
Yeap, the problem is on SQLServer returning binary for SUM().. so.. the
solution is use CAST(), urgh..
select cast(sum(total_logical_reads) as int) as log_reads from
sys.dm_exec_query_stats
Cheers,
--
Follow the white rabbit!
More information about the collectd
mailing list