Skip to content

Mysql output option for xmrig --- Finished version of amd-rocmi #13

@ghost

Description

Here is from my git version of rocm_smi for amd to mysql.

./rocm_smi-mysql

INSERT INTO miner_stats (gpu,temp,avgpwr,sclk,mclk,fan,perf,od,hostname) VALUES ('g3','40.0','69.19','1150','2100','100.0,'profile_peak','0','0D3A'),('g1','37.0','69.146','1150','2100','100.0,'profile_peak','0','0D3A'),('g4','57.0','61.183','1300','1500','100.0,'profile_peak','0','0D3A'),('g2','63.0','61.219','1300','1500','100.0,'profile_peak','0','0D3A'),('g0','40.0','32.143','1300','1500','100.0,'profile_peak','0','0D3A');

Here is a example of outputting from xmrig directly to mysql

                    auto bType = static_cast<xmrstak::iBackend::BackendType>(b);
                    std::string name(xmrstak::iBackend::getName(bType));
                    std::transform(name.begin(), name.end(), name.begin(), ::toupper);

                    out.append("INSERT INTO miner_stats_xmr-stak (gpu,15s,60s,15m,totalhigh15s,totalhigh60s,totalhigh,hostname) VALUES ");
                    double fTotalCur[3] = { 0.0, 0.0, 0.0};
                    for (i = 0; i < nthd; i++)
                    {
                            double fHps[3];

                            uint32_t tid = backEnds[i]->iThreadNo;
                            fHps[0] = telem->calc_telemetry_data(10000, tid);
                            fHps[1] = telem->calc_telemetry_data(60000, tid);
                            fHps[2] = telem->calc_telemetry_data(900000, tid);

                            snprintf(num, sizeof(num), "('g%u','", (unsigned int)i);
                            out.append(num);
                            out.append(hps_format(fHps[0], num, sizeof(num))).append("','");
                            out.append(hps_format(fHps[1], num, sizeof(num))).append("','");
                            out.append(hps_format(fHps[2], num, sizeof(num))).append("','");

                            fTotal[0] += (std::isnormal(fHps[0])) ? fHps[0] : 0.0;
                            fTotal[1] += (std::isnormal(fHps[1])) ? fHps[1] : 0.0;
                            fTotal[2] += (std::isnormal(fHps[2])) ? fHps[2] : 0.0;

                            fTotalCur[0] += (std::isnormal(fHps[0])) ? fHps[0] : 0.0;
                            fTotalCur[1] += (std::isnormal(fHps[1])) ? fHps[1] : 0.0;
                            fTotalCur[2] += (std::isnormal(fHps[2])) ? fHps[2] : 0.0;
                            out.append(hps_format(fTotalCur[0], num, sizeof(num))).append("','");
                            out.append(hps_format(fTotalCur[1], num, sizeof(num))).append("','");
                            out.append(hps_format(fTotalCur[2], num, sizeof(num))).append("','");
                            out.append(hps_format(fHighestHps, num, sizeof(num))).append("','HOSTNAME')");

                    }

// out.append(hps_format(fTotalCur[0], num, sizeof(num)));
// out.append("',");
// out.append(hps_format(fTotalCur[1], num, sizeof(num)));
// out.append("',");
// out.append(hps_format(fTotalCur[2], num, sizeof(num)));
}
}

// out.append("',' ");
// out.append(hps_format(fTotal[0], num, sizeof(num)));
// out.append("','");
// out.append(hps_format(fTotal[1], num, sizeof(num)));
// out.append("','");
// out.append(hps_format(fTotal[2], num, sizeof(num)));
// out.append("','");
// out.append(hps_format(fHighestHps, num, sizeof(num)));
out.append(";\n");
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions