const Options Writer::getDefaultOptions() const { Options options; Option grid_x("grid_dist_x", 6.0, "X grid distance"); Option grid_y("grid_dist_y", 6.0, "Y grid distance"); double default_radius = (double) sqrt(2.0) * grid_x.getValue<double>(); Option radius("radius", default_radius); Option fill_window_size("fill_window_size", 3); options.add(grid_x); options.add(grid_y); options.add(radius); options.add(fill_window_size); return options; }
Options P2gWriter::getDefaultOptions() { Options options; Option grid_x("grid_dist_x", 6.0, "X grid distance"); Option grid_y("grid_dist_y", 6.0, "Y grid distance"); double default_radius = (double) sqrt(2.0) * grid_x.getValue<double>(); Option radius("radius", default_radius); Option fill_window_size("fill_window_size", 3); Option dim_z("Z", "Z", "Name of Z dimension to interpolate"); options.add(dim_z); options.add(grid_x); options.add(grid_y); options.add(radius); options.add(fill_window_size); return options; }
LLSD LLViewerAssetStats::asLLSD(bool compact_output) { // Top-level tags static const LLSD::String tags[EVACCount] = { LLSD::String("get_texture_temp_http"), LLSD::String("get_texture_temp_udp"), LLSD::String("get_texture_non_temp_http"), LLSD::String("get_texture_non_temp_udp"), LLSD::String("get_wearable_udp"), LLSD::String("get_sound_udp"), LLSD::String("get_gesture_udp"), LLSD::String("get_other") }; // Stats Group Sub-tags. static const LLSD::String enq_tag("enqueued"); static const LLSD::String deq_tag("dequeued"); static const LLSD::String rcnt_tag("resp_count"); static const LLSD::String rmin_tag("resp_min"); static const LLSD::String rmax_tag("resp_max"); static const LLSD::String rmean_tag("resp_mean"); // MMM Group Sub-tags. static const LLSD::String cnt_tag("count"); static const LLSD::String min_tag("min"); static const LLSD::String max_tag("max"); static const LLSD::String mean_tag("mean"); const duration_t now = LLViewerAssetStatsFF::get_timestamp(); mCurRegionStats->accumulateTime(now); LLSD regions = LLSD::emptyArray(); for (PerRegionContainer::iterator it = mRegionStats.begin(); mRegionStats.end() != it; ++it) { if (0 == it->first) { // Never emit NULL UUID/handle in results. continue; } PerRegionStats & stats = *it->second; LLSD reg_stat = LLSD::emptyMap(); for (int i = 0; i < LL_ARRAY_SIZE(tags); ++i) { PerRegionStats::prs_group & group(stats.mRequests[i]); if ((! compact_output) || group.mEnqueued.getCount() || group.mDequeued.getCount() || group.mResponse.getCount()) { LLSD & slot = reg_stat[tags[i]]; slot = LLSD::emptyMap(); slot[enq_tag] = LLSD(S32(stats.mRequests[i].mEnqueued.getCount())); slot[deq_tag] = LLSD(S32(stats.mRequests[i].mDequeued.getCount())); slot[rcnt_tag] = LLSD(S32(stats.mRequests[i].mResponse.getCount())); slot[rmin_tag] = LLSD(F64(stats.mRequests[i].mResponse.getMin().valueInUnits<LLUnits::Seconds>())); slot[rmax_tag] = LLSD(F64(stats.mRequests[i].mResponse.getMax().valueInUnits<LLUnits::Seconds>())); slot[rmean_tag] = LLSD(F64(stats.mRequests[i].mResponse.getMean().valueInUnits<LLUnits::Seconds>())); } } if ((! compact_output) || stats.mFPS.getCount()) { LLSD & slot = reg_stat["fps"]; slot = LLSD::emptyMap(); slot[cnt_tag] = LLSD(S32(stats.mFPS.getCount())); slot[min_tag] = LLSD(F64(stats.mFPS.getMin())); slot[max_tag] = LLSD(F64(stats.mFPS.getMax())); slot[mean_tag] = LLSD(F64(stats.mFPS.getMean())); } U32 grid_x(0), grid_y(0); grid_from_region_handle(it->first, &grid_x, &grid_y); reg_stat["grid_x"] = LLSD::Integer(grid_x); reg_stat["grid_y"] = LLSD::Integer(grid_y); reg_stat["duration"] = LLSD::Real(stats.mTotalTime.valueInUnits<LLUnits::Seconds>()); regions.append(reg_stat); } LLSD ret = LLSD::emptyMap(); ret["regions"] = regions; ret["duration"] = LLSD::Real((now - mResetTimestamp).valueInUnits<LLUnits::Seconds>()); return ret; }