Add custom assertions to examples from Rust books

#324 added the ability of editing examples extracted from Rust books before running them in the dashboard.
At present we are not using it enough - ideally we should have custom assertions in each example that gets verified.

Hey @DavePearce , thanks for your suggestion!
I agree that it would be easier that way. The warning-based approach for keeping the examples updated is something we are going to consider for sure, given that our periodic merges may be blocked due to updates in the books.
However, my main concern here is the initial effort to add verification assertions for each example. I do not have the numbers with me, but we are currently testing ~700 examples in the dashboard and I estimate that at least half of them are getting verified. That means manually adding custom assertions to >350 examples.
Today @danielsn had an interesting proposal for this: Instead of adding assertions in a preprocess step, why not submit them as changes to the actual books? Or somehow replace print statements in examples (which show the expected output) by assertions. This is something we would definitely be interested to pursue if possible.


consumer / (high level consumer) doesn't work over SSL

Kafka 0.9 supports SSL in NewConsumer API only.
looks like current consumer implementation in kafka-node is based on old API.
:(

What makes you say it doesn't support it? We've been using SSL and highLevelConsumer for awhile now.
In any case I have a PR up for the new consumer hope to have it released soon.

Hi,
I disabled plain text mode on kafka server and  configured SSL.
I have number of java clients connecting to this server and one node js
uses kafka-node.
All my java clients use newConsumer API and connect to kafka machine
~kafkahost:9092
But kafka-node clients connect  to the zookeeper:2181.
All kafka-node produsers work well,
But kafka-node consumers can't receive messages.
Before switching to SSL everything worked fine.
Thank you.
Daniel.
On Thu, Oct 6, 2016 at 3:26 PM, Xiaoxin Lu<EMAIL_ADDRESS>wrote:

What makes you say it doesn't support it? We've been using SSL and
highLevelConsumer for awhile now.
In any case I have a PR up for the new consumer hope to have it released
soon.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SOHU-Co/kafka-node/issues/478#issuecomment-251946499,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVm2lgXbgdbwdnxOvD3gHXMFIz3V6CEQks5qxOjcgaJpZM4KPuhS
.

Could you show some example code on how you connect the consumer?
There's really no change in kafka API to use SSL-- it's just connecting to a different port with a TLS socket.

Hi,
something like that:
.....
function initConsumer(topic, f) {
    logger.info("initConsumer", topic);
    var Consumer = kafka.Consumer,
        client = new

kafka.Client(connectionUrl,"something",undefined,undefined,{
rejectUnauthorized: false } ),
consumer = new Consumer(
client,
[{topic: topic, partition: 0}],
{
autoCommit: false
}
);
consumer.on('message', function (message) {
logger.debug('onMessage', message);
f('message', message);
    });
    consumer.on('error', function (err) {
        logger.error('onError', err);
        handleKafkaError(err);
    });

    kafkaStatus = "Connected";
    logger.info("Consumer for topic ", topic, "] was created");
}

............
On Thu, Oct 6, 2016 at 6:19 PM, Xiaoxin Lu<EMAIL_ADDRESS>wrote:

Could you show some example code on how you connect the consumer?
There's really no change in kafka API to use SSL-- it's just connecting to
a different port with a TLS socket.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SOHU-Co/kafka-node/issues/478#issuecomment-251995275,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVm2lrPO5q7J4BNSl-a0mTOusURSwRxaks5qxRGPgaJpZM4KPuhS
.

full code example:
config.js:
kafkaConnectionUrl = 'xxx.xxx.xxx.xxx:2181';
kafkaManager.js:
var kafkaManager = (function () {
require('../config.js')
var log4js = require('./logger.js');
var logger = log4js.getModuleLogger();
var kafka = require('kafka-node');
var socket;
var setSockeIO = function (o) {
socket = o;
}
function handleKafkaError(error) {
var code = error.code;
var message = error.message;
if (error.code == "ETIMEDOUT" ||
error.code == "ECONNREFUSED" ||
error.code == "ECONNRESET" ||
message == "Could not find a broker") {
if (kafkaStatus != "Disconnected") {
kafkaStatus = "Disconnected";
socket.broadcast();
}
}
logger.error("ERROR: " + error.message);
};
function initConsumer(topic, f) {
    logger.info("initConsumer", topic);
    var Consumer = kafka.Consumer,
        client = new kafka.Client(kafkaConnectionUrl,
            undefined,
            undefined,
            undefined,
            {
                rejectUnauthorized: false
            }),
        consumer = new Consumer(
            client,
            [{topic: topic, partition: 0}],
            {
                autoCommit: false
            }
        );
    consumer.on('message', function (message) {
        logger.debug('onMessage', message);
        kafkaStatus = "Connected";
        f('message', message);

    });
    consumer.on('error', function (err) {
        logger.error('onError', err);
        handleKafkaError(err);
    });

    logger.info("Consumer for topic ", topic, "] was created");
}

var sendMessage = function (topic, message) {
    logger.debug("sendMessage", topic, message);
    var argv = require('optimist').argv;
    var p = argv.p || 0;
    var a = argv.a || 0;

    var client = new kafka.Client(kafkaConnectionUrl,
        undefined,
        undefined,
        undefined,
        {
            rejectUnauthorized: false
        });
    var Producer = kafka.Producer;
    var producer = new Producer(client, {requireAcks: 1});

    producer.on('ready', function () {
        try {
            producer.send([
                {topic: topic, partition: p, messages: [message], attributes: a}
            ], function (err, result) {
                if (err) {
                    logger.error(err);
                } else {
                    logger.debug(result);
                }
            });
        } catch (err) {
            logger.error("Error on producer 'ready' ", err);
        }
        logger.debug("Producer sending: " + message);
    });

    producer.on('error', function (err) {
            logger.error('Producer ready - error', err);
        }
    );

}

return {
    initConsumer: initConsumer,
    sendMessage: sendMessage,
    setSocketIO: setSockeIO,
};

}());
module.exports = kafkaManager;

After the client is ready could you console.log the contents of client.brokerProfiles and client.ssl ?
Also what version of kafka are you using?

client.ssl =true
I use Kafka server 0.9.
And the broker . list I will check.
Sent from my Samsung Galaxy smartphone.
-------- Original message --------From: Xiaoxin Lu<EMAIL_ADDRESS>Date: 10/6/16  20:58  (GMT+02:00) To: SOHU-Co/kafka-node<EMAIL_ADDRESS>Cc: deldim1<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [SOHU-Co/kafka-node] consumer / (high level consumer) doesn't work over SSL (#478)
After the client is ready could you console.log the contents of client.brokerProfiles and client.ssl ?
Also what version of kafka are you using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/SOHU-Co/kafka-node","title":"SOHU-Co/kafka-node","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/SOHU-Co/kafka-node"}},"updates":{"snippets":[{"icon":"PERSON","message":"@hyperlink in #478: After the client is ready could you console.log the contents of client.brokerProfiles and client.ssl ?\r\n\r\nAlso what version of kafka are you using?"}],"action":{"name":"View Issue","url":"https://github.com/SOHU-Co/kafka-node/issues/478#issuecomment-252040407"}}}

Finally i got it work.
The client.brokerProfiles was undefined.

Here is my consumer code, but not working... can u help in correcting this
var kafka = require('kafka-node');
var Consumer = kafka.Consumer;
var Offset = kafka.Offset;
var Client = kafka.Client;

const environment = process.env.APP_ENV || 'development';
const action = "consume";
const connectorType = "direct";
const configs = require("./config/" + environment);

const config = configs[action][connectorType];

var topic = config.topic;

var client = new Client(config.brokers,null,null,null,{

    certFile: config.cert,
    keyFile: config.key

});
var topics = [
    {topic: topic}
];
var options = { autoCommit: false, fetchMaxWaitMs: 1000, fetchMaxBytes: 1024 * 1024 };

var consumer = new Consumer(client, topics, options);
var offset = new Offset(client);

consumer.on('message', function (message) {
  console.log(message);
});

consumer.on('error', function (err) {
  console.log('error', err);
});

/*
* If consumer get `offsetOutOfRange` event, fetch data from the smallest(oldest) offset
*/
consumer.on('offsetOutOfRange', function (topic) {
  topic.maxNum = 2;
  offset.fetch([topic], function (err, offsets) {
    if (err) {
      return console.error(err);
    }
    var min = Math.min(offsets[topic.topic][topic.partition]);
    consumer.setOffset(topic.topic, topic.partition, min);
  });
});

If you are passing in kafka broker hosts you should use KafkaClient instead of Client.

@deldim1 Could you please explain how you resolved  client.brokerProfiles when it was undefined


Automate pending:feedback label

Fixes gradle/gradle-bot#55

@bot-gradle merge

I've triggered a build for you. Click here to see all failures if there's any.


Documentation updates

Renamed a few things, did a few changes to the conda environment used on readthedocs.org.

Any objections?
If not, can somebody please approve or merge?

I tested it and it looks good.

Thanks @chris-hld, merging ...


Stem Relay (Zero-config ejectable Relay integration)

Description
Like Stem React but with Relay.
Prior art: https://github.com/XiNiHa/vilay.

Strictly speaking it isn't a VPS feature (but an ecosystem library).


'None' gradient wrt to the input using TF2, Embeddings and GradientExplainer.

Hi! I get this error using GradientExplainer with the Embedding layer of tf.keras.
Traceback (most recent call last):
  File "C:/Users/disimone/PycharmProjects/shap/notebooks/deep_explainer/Keras LSTM for IMDB Sentiment Classification.py", line 71, in <module>
    shap_values = explainer.shap_values(x_test[:10])
  File "C:\Users\disimone\PycharmProjects\shap\shap\explainers\gradient.py", line 106, in shap_values
    return self.explainer.shap_values(X, nsamples, ranked_outputs, output_rank_order, rseed, return_variances)
  File "C:\Users\disimone\PycharmProjects\shap\shap\explainers\gradient.py", line 288, in shap_values
    grad = [np.concatenate([g[l] for g in grads], 0) for l in range(len(X))]
  File "C:\Users\disimone\PycharmProjects\shap\shap\explainers\gradient.py", line 288, in <listcomp>
    grad = [np.concatenate([g[l] for g in grads], 0) for l in range(len(X))]
  File "<__array_function__ internals>", line 6, in concatenate
ValueError: zero-dimensional arrays cannot be concatenated

I have this error because tf.GradientTape in _TFGradientExplainer return None as gradient with respect to the input.
https://github.com/slundberg/shap/blob/a270b811a8147e12655842ddeb226b4ebae39f72/shap/explainers/gradient.py#L209
One possible solution would be to compute the SHAP values of the input of the LSTM layer (the output of the Embedding layer), but its a dirty fix. Do you have any other idea on how to fix this issue?
As a 'minimal' working example I modified the notebook 'Keras LSTM for IMDB Sentiment Classification'. Below a link to the Colab Notebook.
https://colab.research.google.com/drive/1bSI4XoHBXcxaj2n6gaZu2xaigbhuiezz

Thanks for sharing! @imatiach-msft is working on fixing up DeepExplainer to work in TF2, and since DeepExplainer can handle non-differentiable functions it will be the easiest fix for this. However, I would like to have GradientExplainer support embeddings by essentially automatically using the output of the embeddings layer as the input to the model, then summing up the contributions across the embedding dimensions and dropping that sum back onto the original model inputs.
This summing can be done manually right now, but the automatic version of this for TF2 in eager mode is hard since I don't really know how to "run" sub portions of a graph in TF2 eager mode. If anyone has insight on how to do that I would be grateful for help. I spent a day on it a week ago and didn't get to a solution before I needed to move on.

i don't know if this can help but:
https://colab.research.google.com/drive/1tTiOgJ7xvy3sjfiFC9OozbjAX1ho8WN9?usp=sharing
this is an example to calculate gradient of embedding in bert model.

I suppose the same error is reproduced on the torch version, with the following error message:

RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn


Diagnostics svrl:text tags missing

I have not verified this. It is from a 2012 email. - Rick.
Radu Cernuta reported a bug and provided a fix, that the diagnostics were not getting the text.
iso-svrl-for-xslt1.xsl  2010 version line 410
iso-svrl-for-xslt2.xsl  2010 version line 425

	<svrl:text>
		<xsl:apply-templates mode="text" />
	</svrl:text>

</svrl:diagnostic-reference>

All six <svrl:text> in current code have <xsl:apply-templates mode="text" />.


build fails because of missing nng dependency

When trying to build this project, it fails because of missing nng as a dependency of libparodus.

PR: https://github.com/Comcast/parodus2mockTr181/pull/19

Link to PR: https://github.com/Comcast/parodus2mockTr181/pull/20
As a note..it seems you all may need to update the version of cmake on the box you are running Travis build on.  All tests and builds work correctly for me using an updated cmake version.

@stefanKnott thanks for the PR, we will check it.

This is fixed as part of PR: #21


file in s3 without return line for each event

I have an issue with some files in s3 where all the content file is in one line (without return line), most of the files are formatted correctly (one event by line) but in some cases (with same connector setup) there are some files misformatted
do you know if there is any parameter to fix this issue?

@dimh sorry for the belated response.
Could you confirm if this is still an issue? if that's the case, could you provide additional details to be able to reproduce this issue:

Connector configuration
Some examples of data in Kafka and the S3 object content produced by the connector, highlighting the issue described.
Many thanks!


onAny doesn't provide types for context.log

Bug Report
Current Behavior
A clear and concise description of the behavior.
import { Probot } from 'probot';

function agent(app: Probot) {
    app.onAny(async (context) => {
        context.log.info({ event: context.name, action: context.payload.action });
      });
}

export default agent;

Expected behavior/code
The code gets compiled. Got:
Type error: Property 'log' does not exist on type 'BaseWebhookEvent<"branch_protection_rule"> | (BaseWebhookEvent<"branch_protection_rule"> & { payload: { action: "created"; }; }) | (BaseWebhookEvent<"branch_protection_rule"> & { ...; }) | ... 228 more ... | (BaseWebhookEvent<...> & { ...; })'.
  Property 'log' does not exist on type 'BaseWebhookEvent<"branch_protection_rule">'.

  3 | function agent(app: Probot) {
  4 |     app.onAny(async (context) => {
> 5 |         context.log.info({ event: context.name, action: context.payload.action });
    |                 ^
  6 |     });
  7 | }
  8 |
error Command failed with exit code 1.

Environment

Probot version(s): v12.2.1
Node/npm version: node v17.4.0
OS: OSX 10.15.7

Additional context/Screenshots
Possibly related to https://github.com/octokit/webhooks.js/issues/436.

It does provide types for context, but context.log is not typed. I'm not sure if that is a bug or if it's a limited by design. Would you like to investigate?

In @octokit/webhooks, the type value TTransformed isn't getting passed along to the onAny and onError functions, which is why the context.log has no types

This will be fixed as part of v13

Unfortunately, the fix I had made for this introduces way too many recursions for Typescript to handle with NodeJS' default heap size.
I am unsure if there is a different way that can satisfy this issue, or even if it is possible without running into memory issues

The issue with type recursion has actually been fixed right after I made my last comment.
https://github.com/octokit/webhooks.js/commit/1124632dce3649079c7c06668791260e56633411


Constant Revolution

text: If the card has more counters than one has cards in hand one must pays the remainder in pool if choosing to burn the entire hand
link: https://groups.google.com/g/rec.games.trading-cards.jyhad/c/jxTaf6lnYb0/m/KoQF6jLw5zAJ

Duplicate #664


Make upgrade-defaults-configmap immutable

Make sure upgrade-defaults-configmap is immutable
Set ProvisioningState status when updating UpgradeCompleted condition

/hold

/unhold

/cc @jc-rh @Missxiaoguo

/lgtm


Feature: Baseline

For a given commitish of vcpkg, have we completely built all ports/triplets?

Not building.


Log tapper

Adds ability for tests to tap into the compose logs during the test run and check for expected output on the tested services.    Adds a new binary to test runner to tapping logs and listens to a unix socket for tap requests.
Closes #47

Probably need docs for this one since its use will not be self explanatory. Here is an example of how it could be used...
golem_tapper compose > /tmp/tap.out &
docker pull localregistry:5440/someimage
grep "something" /tmp/tap.out

ping @aaronlehmann

Looks good in general. I imagine the vast majority of use cases will involve looking for the presence or absence of a specific pattern in the log. It might be useful to allow the client to specify a regexp that can be evaluated on the server side, rather than sending the full log output for the client to evaluate. However, this may be a premature optimization.

I do agree about the patterns, I will create an feature issue for it when this gets merged.


Store Contentstack cache separate from app cache

I am facing an issue where my shared URLCache is being filled up rather quickly, leading to the cache being erased and my cache policy effectively useless.
I am proposing to use CSURLCache to cache Contentstack responses instead of URLCache.shared.
This still allows for networkOnly and networkElseCache requests to be made properly, while keeping the Contentstack cache separate from other responses made throughout an apps lifetime.

thanks for raising the issue @TheNightmanCodeth, we will look into it.


emscripten toolchain

What exactly is the issue? There doesn't appear to be an emscripten target in the latest manifest?

I mean rustup toolchain should provide the emsdk-portable installation.

There's no emsdk-portable toolchain in the manifest yet either? Will that arrive with the next successful nightly?

ping @brson.

@alexcrichton Added the targets to rust-builbot.
These 2 should work now:

rustup target add asmjs-unknown-emscripten
rustup target add wasm32-unknown-emscripten

Indeed! done

Happy to open a separate issue if it's relevant, but rustup target add asmjs-unknown-emscripten and rustup target add wasm32-unknown-emscripten both fail currently with:
error: component 'rust-std' for 'asmjs-unknown-emscripten' is unavailable for download


Always use trainer.call_hook

What does this PR do?
Always try to use trainer.call_hook to call hooks as we need it to set the _current_fx_name attribute in the LightningModule which is required for logging.
Since call_hook also calls any trainer and accelerator methods with the same name, we need to skip them for setup and teardown.
A test is added which tries to self.log() in all LightningModule and Callback hooks to assert that MisconfigurationException is raised.
Part of #7898
Follow-ups

The new test could assert the final logged values.
We should refactor call_hook. The current pattern of always calling the accelerator and trainer hooks of the same name is dangerous. Also, we want the users to interact with it after loop customization. #8506

Does your PR introduce any breaking changes ? If yes, please list them.
None intended
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[n/a] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)
[x] Did you list all the breaking changes introduced by this pull request?

PR review

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

this will disable usage tracing in IDE, right?

Yes, this was already the case. Most hooks are already using call_hook


metrics: identify census build downloads

See single-cell-census.
The census build downloads H5ADs from the portal.  This pollutes metrics.  It would be helpful if there was a way to identify the census (and WMG) builds, even if this is approximate and/or informal.
Ideas to explore:

[ ] identify by UA string or tag passed in HTTP headers
[ ] identify by IP range

This is blocked until guidance is offered from product team
cc @brianraymor

@ainfeld should review and approve any proposals

TileDB support for setting headers landed in 2.18
Demo: https://gist.github.com/bekadavis9/be49edaef424f146334c31007ccf07a6

@danieljhegeman - closing this as implemented in #929   Please re-open if you disagree.  TY!


Change  to ?

It seems like a perfect match, really.

+1

Relevant:

4.12.5 Footnotes
HTML does not have a dedicated mechanism for marking up footnotes.
For side notes, longer annotations that apply to entire sections of the text rather than just specific words or sentences, the aside element should be used.
For figures or tables, footnotes can be included in the relevant figcaption or caption element, or in surrounding prose.

This sounds like a good idea. A pull request swapping out the styles in tufte.css and the examples in index.html would be welcome. Issue #7 is related and could be addressed simultaneously.

Would the pull request involve the front-facing site, too? I'm just trying not to overstep any bounds.

@Tigt Yeah, index.html is what I use for www.daveliepmann.com/tufte-css. Like I say in the README for contributing, the goal is to test all changes on that document, and to keep it current as a demonstration of using Tufte CSS.
Be aware that  is not an inline element, as @xHN35RQ points out. If this means we can't keep the correct height of sidenotes,  is a no-go.

 does not play nicely with auto-closing
 tags at all. Not replaceable without making all paragraphs inline or something equally horrible. (Too bad display: run-in got dropped!)
I'm iffy about putting sidenotes in the actual text, since it really shouldn't be inside the paragraph in the first place. The HTML would ideally go like this:

Words words words words. 1

Footnotes

Words words words words words.

Words.

But without something like the new position-relatively-to-element spec the Community Group is hashing out, it wouldn't be possible to CSS that into the effect you need.
So! An acceptable compromise:

What do you think?

I think several things. First, thanks for your deep thinking on this.
Second, I agree that I don't see a way forward for , which is indeed a bummer.
Third, while I agree that sidenote tags would ideally be outside paragraph tags, I specifically do not think they should be at the bottom in a footnote section. Sidenotes aren't just footnotes displayed to the side; they are a semantically distinct object: an aside or citation located immediately adjacent to the content it is related to.
Ideally, I would locate each sidenote tag either before or after their associated paragraph tag, and the CSS would, using magic, correctly align them vertically (or hide them on small screens). I don't see a way to accomplish this at the moment. The HTML I want would be like so:

Blah blah 1 etc

   Herp a derp

lorem ipsum...

Fourth, a multi-part thought about roles. I like the idea of marking up the data semantically, for all the reasons that one should add semantic markup: accessibility, clarity, ease of API integration, et cetera. But I'm worried about complicating the demo code with technically unnecessary non-MVP attributes. I'm also not sure whether all sidenotes would have the role complementary, or all note, or if it is a case-by-case situation. Lastly, if we semantically mark up sidenote  tags, then I think we must semantically mark up the rest of our content as well.

You've definitely convinced me on the foot/sidenotes issue. Keeping them close at hand is a subtle but important distinction.
Also, good catch on role="note". Much better fit; complementary seems more like it's for complete packaged sections, whereas a note is what it says it is.
One could change their styling selector to [role~="note"] to enforce the technical necessity like you acknowledged, but perhaps that's undesirable for other reasons.
Ah well. Maybe in a few years the element(#id) positioning syntax will work, and this will have a very different solution. I'll add this as a use-case, at least. ;)

New development: Dudley Storey makes the case that these should be , which is apparently an inline .
This would be a lot easier to implement, but do you agree with his logic?

@Tigt Thanks for bringing that to my attention. Quite interesting, as I was not aware of this changed usage of the tag.
This HTML5.1 draft spec specifically mentions side comments as a use case for . But it also says that large chunks of sidebar content are more akin to sidebars, which are represented as . This begs the question, are we writing side comments or a sidebar? Margin notes for citations are definitely side comments, but I might think of margin figures or extended sidenotes as sidebars. I may be overcomplicating this.
I suppose I do agree with Storey's logic. I will think on it a bit more. Honestly I think the best course of action may be to find the people working on  etc in the HTML5 spec and ask them what to do, since our use case kind of straddles these two very new tags.
If I have time in the next week or two I'll modify tufte.css and index.html to use  and see how it goes. However, I have other work at the moment, so if anybody else wants to take a stab at it, I'd love to see how it looks. I can't promise

The W3C's HTML5: Edition for Web Authors has some advice for  which I thought was relevant:

Note: It's not appropriate to use the aside element just for parentheticals, since those are part of the main flow of the document.

The advice for  clears up the matter a bit more.
I'd like to go ahead and submit a pull request (once I figure out git), but in your opinion, would you prefer leaving the classes on?  or margin-note makes a small distinction, but it could be just article small as a selector for both, and then margin-note would turn off the numbering.

I got the opposite impression from the W3C's  advice. Their examples seem like fine use cases for sidenotes, for instance:

Switzerland

Switzerland, a land-locked country in the middle of geographic
 Europe, has not joined the geopolitical European Union, though it is
 a signatory to a number of European treaties.

...they even say that  "can be used for typographical effects like pull quotes or sidebars". A sidebar is very, very similar to a sidenote in my mind.
On the  side, I also think plenty of sidenotes are much more than "disclaimers, caveats, legal restrictions, or copyrights...[or] attribution, or for satisfying licensing requirements."
A pull request to see  would be good to look into, but I can't promise it will get accepted. In any case, definitely keep the side-note class, since we don't want to conflict with user's other applications of basic HTML tags.

Yeah, I guess I'm confused too.  is still a no-go since it can't be inline, so perhaps things are better off as they are.

This thread is one of the best back-and-forths regarding concerns about which tags to use. However, since there is nothing actionable, I will close it now.


Updated some details of "device_safety_info" (including: namespace, pubspec.yaml).

As title.

thank you for update code merged and new patch released with version 0.0.9


opentelemetry_ecto does not write traces when using fly_postgres

I attempted to add opentelemetry_ecto to a project using fly_postgres and am getting no errors, but also no traces.  When I am not using fly_postgres, I get the traces I expect.  My hope is that this is easy to get working; however, if that is not the case, if you could give me an idea of how to approach adding the functionality I would appreciate it immensely.  Thanks so much.

There is additional discussion here: community.fly.io
v0.3.0 was released today. There is nothing in it to specifically deal with traces, but now I have a better base to experiment from.
I don't yet know what's required to support this.


Added Intel Optane Persistent Memory Controller Exporter

We have created internal exporter to monitor Intel Optane Persistent Memories behavior at scale, and some time ago decide to open source it. It relays on library provided together with  https://github.com/intel/ipmctl. I will appreciate your feedback. Thanks in advance.

Thanks for your PR. This appears to be dealing with machine-level metrics from the kernel, and thus should probably be part of the node exporter @SuperQ
Separately, many of the metric names here aren't following best practices in relation to units - either lacking units (many missing what are presumably seconds and celsius), using non-standard spellings (degrees_c rather than celsius) for them, or using non-standard units (percentages rather than ratios - though the raw data would be better). The description for ipmctl_percentage_remaining is also circular, I'm not sure what that is meant to be from either the metric name or description. The count in ipmctl_fw_error_count_total is redundant.

Thanks for your PR. This appears to be dealing with machine-level metrics from the kernel, and thus should probably be part of the node exporter @SuperQ
Separately, many of the metric names here aren't following best practices in relation to units - either lacking units (many missing what are presumably seconds and celsius), using non-standard spellings (degrees_c rather than celsius) for them, or using non-standard units (percentages rather than ratios - though the raw data would be better). The description for ipmctl_percentage_remaining is also circular, I'm not sure what that is meant to be from either the metric name or description. The count in ipmctl_fw_error_count_total is redundant.

Regarding to: "This appears to be dealing with machine-level metrics from the kernel, and thus should probably be part of the node exporter"
I'm not sure. Intel Optane Memories are rather new product and it's not available by default on each server, the library is also not a part of standard libraries provided with OS, as well as ipmctl tool. To collect metrics you have to talk to the firmware loaded on Intel Optane Memory via on of the hardware interfaces, so you have to consume FW API. From my perspective it's rather more similar to Nvidia GPU exporter. You have external and optional hardware, as well as external and optional library + driver. Let me know if you have different opinion.
Regarding to: "either lacking units (many missing what are presumably seconds and celsius)"
The biggest part of these are simple counters (no seconds, no degrees, just a number), however ipmctl_power_on_time_total should be fixed with seconds suffix. I will fix it.
Regarding to: "using non-standard spellings (degrees_c rather than celsius) for them"
I have no idea why, but I though that degrees_c is the recommended way... I was wrong, sorry for that, will fix it soon
Regarding to: "using non-standard units (percentages rather than ratios - though the raw data would be better)"
It terms of percentages, unfortunately that's the way how the metric was originally named, and the name reflects the value returned directly by Intel Optane Memories firmware:
PercentageRemaining::
(Default) Remaining PMem module’s life as a percentage value of factory expected
life span.
All documents relegated to Intel Optane Memories are following the name, so I'm not sure if it's a good idea to change it. I would rather stay with exact name, however we may fix description for sure.
Regarding to " The count in ipmctl_fw_error_count_total is redundant."
May I ask why do you think that? The counter is returned by the firmware loaded on Intel Optane Memories, is it already available somewhere?
JFYI: All names were taken directly from the lib, and these names reflect Intel Optane Memory documentation:
https://github.com/intel/ipmctl/blob/master/Documentation/ipmctl/Instrumentation/ipmctl-show-sensor.txt
https://github.com/intel/ipmctl/blob/master/Documentation/ipmctl/Instrumentation/ipmctl-show-performance.txt

Regarding to: "This appears to be dealing with machine-level metrics from the kernel, and thus should probably be part of the node exporter"
I'm not sure. Intel Optane Memories are rather new product and it's not available by default on each server, the library is also not a part of standard libraries provided with OS, as well as ipmctl tool. To collect metrics you have to talk to the firmware loaded on Intel Optane Memory via on of the hardware interfaces, so you have to consume FW API. From my perspective it's rather more similar to Nvidia GPU exporter. You have external and optional hardware, as well as external and optional library + driver. Let me know if you have different opinion.
Regarding to: "either lacking units (many missing what are presumably seconds and celsius)"
The biggest part of these are simple counters (no seconds, no degrees, just a number), however ipmctl_power_on_time_total should be fixed with seconds suffix. I will fix it.
Regarding to: "using non-standard spellings (degrees_c rather than celsius) for them"
I have no idea why, but I though that degrees_c is the recommended way... I was wrong, sorry for that, will fix it soon
Regarding to: "using non-standard units (percentages rather than ratios - though the raw data would be better)"
It terms of percentages, unfortunately that's the way how the metric was originally named, and the name reflects the value returned directly by Intel Optane Memories firmware:
PercentageRemaining::
(Default) Remaining PMem module’s life as a percentage value of factory expected
life span.
All documents relegated to Intel Optane Memories are following the name, so I'm not sure if it's a good idea to change it. I would rather stay with exact name, however we may fix description for sure.
Regarding to " The count in ipmctl_fw_error_count_total is redundant."
May I ask why do you think that? The counter is returned by the firmware loaded on Intel Optane Memories, is it already available somewhere?
JFYI: All names were taken directly from the lib, and these names reflect Intel Optane Memory documentation:
https://github.com/intel/ipmctl/blob/master/Documentation/ipmctl/Instrumentation/ipmctl-show-sensor.txt
https://github.com/intel/ipmctl/blob/master/Documentation/ipmctl/Instrumentation/ipmctl-show-performance.txt

I'm not sure.

That's why I'm asking. Requiring particular kernel modules to be loaded or other interfaces isn't an issue, many node exporter collectors need that too.

The biggest part of these are simple counters (no seconds, no degrees, just a number), however ipmctl_power_on_time_total should be fixed with seconds suffix. I will fix it.

Not all metrics will have units, but there's several that are obviously missing them. For example most of the threshold metrics.

All documents relegated to Intel Optane Memories are following the name, so I'm not sure if it's a good idea to change it. I would rather stay with exact name, however we may fix description for sure.

The meaning of a metric should be reasonably obvious from the name, even to someone unfamiliar with the relevant subsystem. "percentage remaining" alone is meaningless, is that RAM, disk, temperature or what? Something like ipmctl_lifespan_remaining_ratio would be better.
It's not at all unusual for exporters to improve on suboptimal or unintuitive metric names.

May I ask why do you think that? The counter is returned by the firmware loaded on Intel Optane Memories, is it already available somewhere?

I mean that the _count in the metric name is redundant.

I'm not sure.

That's why I'm asking. Requiring particular kernel modules to be loaded or other interfaces isn't an issue, many node exporter collectors need that too.

The biggest part of these are simple counters (no seconds, no degrees, just a number), however ipmctl_power_on_time_total should be fixed with seconds suffix. I will fix it.

Not all metrics will have units, but there's several that are obviously missing them. For example most of the threshold metrics.

All documents relegated to Intel Optane Memories are following the name, so I'm not sure if it's a good idea to change it. I would rather stay with exact name, however we may fix description for sure.

The meaning of a metric should be reasonably obvious from the name, even to someone unfamiliar with the relevant subsystem. "percentage remaining" alone is meaningless, is that RAM, disk, temperature or what? Something like ipmctl_lifespan_remaining_ratio would be better.
It's not at all unusual for exporters to improve on suboptimal or unintuitive metric names.

May I ask why do you think that? The counter is returned by the firmware loaded on Intel Optane Memories, is it already available somewhere?

I mean that the _count in the metric name is redundant.

That's why I'm asking. Requiring particular kernel modules to be loaded or other interfaces isn't an issue, many node exporter collectors need that too.
Ok, still Intel Optane Memory is an optional hardware, more like NVIDIA GPU.

Not all metrics will have units, but there's several that are obviously missing them. For example most of the threshold metrics.
Ok, will fix it.

The meaning of a metric should be reasonably obvious from the name, even to someone unfamiliar with the relevant subsystem. "percentage remaining" alone is meaningless, is that RAM, disk, temperature or what? Something like ipmctl_lifespan_remaining_ratio would be better.

What about ipmctl_lifespan_remaining_percentage? I'm asking because it's not a ratio to be precise...

I mean that the _count in the metric name is redundant.

Ok, agree, will fix it.

That's why I'm asking. Requiring particular kernel modules to be loaded or other interfaces isn't an issue, many node exporter collectors need that too.
Ok, still Intel Optane Memory is an optional hardware, more like NVIDIA GPU.

Not all metrics will have units, but there's several that are obviously missing them. For example most of the threshold metrics.
Ok, will fix it.

The meaning of a metric should be reasonably obvious from the name, even to someone unfamiliar with the relevant subsystem. "percentage remaining" alone is meaningless, is that RAM, disk, temperature or what? Something like ipmctl_lifespan_remaining_ratio would be better.

What about ipmctl_lifespan_remaining_percentage? I'm asking because it's not a ratio to be precise...

I mean that the _count in the metric name is redundant.

Ok, agree, will fix it.

Ok, still Intel Optane Memory is an optional hardware, more like NVIDIA GPU.

That's not relevant, that's not why Nvidia is not part of the node exporter. We need @SuperQ's input here.

What about ipmctl_lifespan_remaining_percentage? I'm asking because it's not a ratio to be precise...

You can divide it by 100.

Ok, still Intel Optane Memory is an optional hardware, more like NVIDIA GPU.

That's not relevant, that's not why Nvidia is not part of the node exporter. We need @SuperQ's input here.

What about ipmctl_lifespan_remaining_percentage? I'm asking because it's not a ratio to be precise...

You can divide it by 100.

That's not relevant, that's not why Nvidia is not part of the node exporter. We need @SuperQ's input here.

Ok.

You can divide it by 100.

Ok :), I will divide it by 100 and rename to ipmctl_lifespan_remaining_ratio.

That's not relevant, that's not why Nvidia is not part of the node exporter. We need @SuperQ's input here.

Ok.

You can divide it by 100.

Ok :), I will divide it by 100 and rename to ipmctl_lifespan_remaining_ratio.

Hello guys again.
First of all I would like to inform that changing the name of metric ipmctl_percentage_remaining to ipmctl_lifespan_remaining_ratio made controversy in the team. The ratio of remaining lifespan is not precise, the end user don't really know what does it mean, on the other side ipmctl_lifespan_percentage_remaining is clear, everyone knows what that means, it's also the raw format taken directly from the hardware, and all command line tools reports it in the same way. We would like to keep it that way, and change the name from ipmctl_percentage_remaining to ipmctl_lifespan_percentage_remaining, but without "ratio". Are you ok with that?
Do we have any update from @SuperQ ?

Guys, any comments?

ping :)

Getting feedback from @SuperQ if he would be willing to take the functionality into node_exporter would be helpful to close this either way.
Ratios and percentages are equivalent; it's just that one is in the range 0-100 and one is in 0-1; Prometheus BCP is to put the unit name at the end to improve readability.

This pull request do not change the status for more then a half of year...
Why can't you just accept it and add to the list? We did everything you were asking for.

ping...

Sorry for the long wait and thank you for the ping.
Didn't get feedback from @SuperQ , we can merge this as a distinct entry.
Please sign the DCO and copy sample output into the issue.

It's done. @RichiH you may merge the request
output:

ping...

@RichiH ping...

Where did you copy a sample of the output for final sanity checking? I can't find it, sorry.

The screenshot that I copied at 12th April isn't enough? Please tell me what exactly do you expect, and I will follow it.

Ah, sorry for the misunderstanding. I meant a sample output of /metrics from your exporter.

Aaa ok... sorry for that, I didn't caught that at the first time. Here you go:
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
go_gc_duration_seconds{quantile="0.5"} 0
go_gc_duration_seconds{quantile="0.75"} 0
go_gc_duration_seconds{quantile="1"} 0
go_gc_duration_seconds_sum 0
go_gc_duration_seconds_count 0
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 9
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.16"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 2.736984e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 2.736984e+06
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
# TYPE go_memstats_buck_hash_sys_bytes gauge
go_memstats_buck_hash_sys_bytes 4143
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 120
# HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started.
# TYPE go_memstats_gc_cpu_fraction gauge
go_memstats_gc_cpu_fraction 0
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
# TYPE go_memstats_gc_sys_bytes gauge
go_memstats_gc_sys_bytes 3.980648e+06
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
# TYPE go_memstats_heap_alloc_bytes gauge
go_memstats_heap_alloc_bytes 2.736984e+06
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
# TYPE go_memstats_heap_idle_bytes gauge
go_memstats_heap_idle_bytes 6.2824448e+07
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
# TYPE go_memstats_heap_inuse_bytes gauge
go_memstats_heap_inuse_bytes 3.858432e+06
# HELP go_memstats_heap_objects Number of allocated objects.
# TYPE go_memstats_heap_objects gauge
go_memstats_heap_objects 2671
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.
# TYPE go_memstats_heap_released_bytes gauge
go_memstats_heap_released_bytes 6.2824448e+07
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
# TYPE go_memstats_heap_sys_bytes gauge
go_memstats_heap_sys_bytes 6.668288e+07
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
# TYPE go_memstats_last_gc_time_seconds gauge
go_memstats_last_gc_time_seconds 0
# HELP go_memstats_lookups_total Total number of pointer lookups.
# TYPE go_memstats_lookups_total counter
go_memstats_lookups_total 0
# HELP go_memstats_mallocs_total Total number of mallocs.
# TYPE go_memstats_mallocs_total counter
go_memstats_mallocs_total 2791
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.
# TYPE go_memstats_mcache_inuse_bytes gauge
go_memstats_mcache_inuse_bytes 230400
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.
# TYPE go_memstats_mcache_sys_bytes gauge
go_memstats_mcache_sys_bytes 245760
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.
# TYPE go_memstats_mspan_inuse_bytes gauge
go_memstats_mspan_inuse_bytes 52224
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.
# TYPE go_memstats_mspan_sys_bytes gauge
go_memstats_mspan_sys_bytes 65536
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.
# TYPE go_memstats_next_gc_bytes gauge
go_memstats_next_gc_bytes 4.473924e+06
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.
# TYPE go_memstats_other_sys_bytes gauge
go_memstats_other_sys_bytes 1.031801e+06
# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.
# TYPE go_memstats_stack_inuse_bytes gauge
go_memstats_stack_inuse_bytes 425984
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.
# TYPE go_memstats_stack_sys_bytes gauge
go_memstats_stack_sys_bytes 425984
# HELP go_memstats_sys_bytes Number of bytes obtained from system.
# TYPE go_memstats_sys_bytes gauge
go_memstats_sys_bytes 7.2436752e+07
# HELP go_threads Number of OS threads created.
# TYPE go_threads gauge
go_threads 8
# HELP impctl_device_capabilities_info Describes the capabilities supported by a DCPMM
# TYPE impctl_device_capabilities_info gauge
impctl_device_capabilities_info{app_direct_mode_capable="0",memory_mode_capable="0",package_sparing_capable="0",uid="8089-a2-2130-00002a50"} 1
impctl_device_capabilities_info{app_direct_mode_capable="0",memory_mode_capable="0",package_sparing_capable="0",uid="8089-a2-2130-00002a71"} 1
# HELP ipmctl_controller_temperature_celsius Device media temperature in degrees Celsius
# TYPE ipmctl_controller_temperature_celsius gauge
ipmctl_controller_temperature_celsius{uid="8089-a2-2130-00002a50"} 36
ipmctl_controller_temperature_celsius{uid="8089-a2-2130-00002a71"} 36
# HELP ipmctl_device_discovery_info Describes an enterprise-level view of a device
# TYPE ipmctl_device_discovery_info gauge
ipmctl_device_discovery_info{capacity="136631484416",channel_id="0x0",channel_pos="0x0",controller_revision_id="0x10",device_id="0x6000",fw_api_version="03.05",fw_revision="<IP_ADDRESS>3",interface_format_codes="0x03010000000",lock_state="unknown",manageability="valid_config",manufacturer="0x8089",manufacturing_date="12321",manufacturing_info_valid="1",manufacturing_location="0xa2",master_passphrase_enabled="0",memory_controller_id="0x2",memory_type="nvm",node_controller_id="0x0",part_number="NMC2XAD128GQS       ",physical_id="0x1e",revision_id="0x0",serial_number="0x002a50",sku="0x30005",socket_id="0x0",subsystem_device_id="0x97c",subsystem_revision_id="0x10",subsystem_vendor_id="0x8980",uid="8089-a2-2130-00002a50",vendor_id="0x8980"} 1
ipmctl_device_discovery_info{capacity="136631484416",channel_id="0x0",channel_pos="0x0",controller_revision_id="0x10",device_id="0x6000",fw_api_version="03.05",fw_revision="<IP_ADDRESS>3",interface_format_codes="0x03010000000",lock_state="unknown",manageability="valid_config",manufacturer="0x8089",manufacturing_date="12321",manufacturing_info_valid="1",manufacturing_location="0xa2",master_passphrase_enabled="0",memory_controller_id="0x2",memory_type="nvm",node_controller_id="0x0",part_number="NMC2XAD128GQS       ",physical_id="0x2e",revision_id="0x0",serial_number="0x002a71",sku="0x30005",socket_id="0x1",subsystem_device_id="0x97c",subsystem_revision_id="0x10",subsystem_vendor_id="0x8980",uid="8089-a2-2130-00002a71",vendor_id="0x8980"} 1
# HELP ipmctl_device_security_capabilities_info Describes the security capabilities of a device
# TYPE ipmctl_device_security_capabilities_info gauge
ipmctl_device_security_capabilities_info{erase_crypto_capable="0",master_passphrase_capable="0",passphrase_capable="0",uid="8089-a2-2130-00002a50",unlock_device_capable="0"} 1
ipmctl_device_security_capabilities_info{erase_crypto_capable="0",master_passphrase_capable="0",passphrase_capable="0",uid="8089-a2-2130-00002a71",unlock_device_capable="0"} 1
# HELP ipmctl_fw_error_total The total number of firmware error log entries
# TYPE ipmctl_fw_error_total counter
ipmctl_fw_error_total{uid="8089-a2-2130-00002a50"} 16
ipmctl_fw_error_total{uid="8089-a2-2130-00002a71"} 8
# HELP ipmctl_health DCPMM health as reported in the SMART log
# TYPE ipmctl_health gauge
ipmctl_health{uid="8089-a2-2130-00002a50"} 1
ipmctl_health{uid="8089-a2-2130-00002a71"} 1
# HELP ipmctl_info Describes ipmctl_exporter info
# TYPE ipmctl_info gauge
ipmctl_info{version="1.3.0"} 1
# HELP ipmctl_latched_dirty_shutdown_count_total Device shutdowns without notification
# TYPE ipmctl_latched_dirty_shutdown_count_total counter
ipmctl_latched_dirty_shutdown_count_total{uid="8089-a2-2130-00002a50"} 1
ipmctl_latched_dirty_shutdown_count_total{uid="8089-a2-2130-00002a71"} 1
# HELP ipmctl_lifespan_percentage_remaining Amount of lifespan remaining as a percentage
# TYPE ipmctl_lifespan_percentage_remaining gauge
ipmctl_lifespan_percentage_remaining{uid="8089-a2-2130-00002a50"} 100
ipmctl_lifespan_percentage_remaining{uid="8089-a2-2130-00002a71"} 100
# HELP ipmctl_media_temperature_celsius Device media temperature in degrees Celsius
# TYPE ipmctl_media_temperature_celsius gauge
ipmctl_media_temperature_celsius{uid="8089-a2-2130-00002a50"} 34
ipmctl_media_temperature_celsius{uid="8089-a2-2130-00002a71"} 34
# HELP ipmctl_power_cycles_total Number of power cycles over the lifetime of the device
# TYPE ipmctl_power_cycles_total counter
ipmctl_power_cycles_total{uid="8089-a2-2130-00002a50"} 94
ipmctl_power_cycles_total{uid="8089-a2-2130-00002a71"} 94
# HELP ipmctl_power_on_time_seconds_total Total power-on time over the lifetime of the device
# TYPE ipmctl_power_on_time_seconds_total counter
ipmctl_power_on_time_seconds_total{uid="8089-a2-2130-00002a50"} 1.5089151e+07
ipmctl_power_on_time_seconds_total{uid="8089-a2-2130-00002a71"} 1.5089148e+07
# HELP ipmctl_total_media_reads_total Lifetime number of 64 byte reads from media on the DCPMM
# TYPE ipmctl_total_media_reads_total counter
ipmctl_total_media_reads_total{uid="8089-a2-2130-00002a50"} 7.69172059438e+11
ipmctl_total_media_reads_total{uid="8089-a2-2130-00002a71"} 7.69170573338e+11
# HELP ipmctl_total_media_writes_total Lifetime number of 64 byte writes to media on the DCPMM
# TYPE ipmctl_total_media_writes_total counter
ipmctl_total_media_writes_total{uid="8089-a2-2130-00002a50"} 7.53492393544e+11
ipmctl_total_media_writes_total{uid="8089-a2-2130-00002a71"} 7.53491280856e+11
# HELP ipmctl_total_read_requests_total Lifetime number of DDRT read transactions the DCPMM has serviced
# TYPE ipmctl_total_read_requests_total counter
ipmctl_total_read_requests_total{uid="8089-a2-2130-00002a50"} 6.32214921e+08
ipmctl_total_read_requests_total{uid="8089-a2-2130-00002a71"} 5.55827127e+08
# HELP ipmctl_total_write_requests_total Lifetime number of DDRT write transactions the DCPMM has serviced
# TYPE ipmctl_total_write_requests_total counter
ipmctl_total_write_requests_total{uid="8089-a2-2130-00002a50"} 2.0753839e+07
ipmctl_total_write_requests_total{uid="8089-a2-2130-00002a71"} 1.5504231e+07
# HELP ipmctl_unlatched_dirty_shutdown_count_total Number of times that the FW received an unexpected power loss
# TYPE ipmctl_unlatched_dirty_shutdown_count_total counter
ipmctl_unlatched_dirty_shutdown_count_total{uid="8089-a2-2130-00002a50"} 42
ipmctl_unlatched_dirty_shutdown_count_total{uid="8089-a2-2130-00002a71"} 42
# HELP ipmctl_up_time_seconds_total Total power-on time since the last power cycle of the device
# TYPE ipmctl_up_time_seconds_total counter
ipmctl_up_time_seconds_total{uid="8089-a2-2130-00002a50"} 88133
ipmctl_up_time_seconds_total{uid="8089-a2-2130-00002a71"} 88133
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 0.02
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 1.048576e+06
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 10
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 2.254848e+07
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.65339517719e+09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 1.206071296e+09
# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.
# TYPE process_virtual_memory_max_bytes gauge
process_virtual_memory_max_bytes -1
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
# TYPE promhttp_metric_handler_requests_in_flight gauge
promhttp_metric_handler_requests_in_flight 1
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 0
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0

Thank you.
It's unusual to have two of each _info metrics; do I assume correctly that you have two controllers in this machine?

Thanks!

Thank you Richard!


About default_retention_policy and retention_policy_key

I don't know hot to write a "defalut_retention_policy" or "About default_retention_policy and ".
Can U give an example,
such as keep date for 30 daya ,  how can I write for "defalut_retention_policy"

"defalut_retention_policy" specify retention policy name in influxdb.

Can U give an example,
such as keep date for 30 daya , how can I write for "defalut_retention_policy"

Reading influxdb document is better.


Support manual capture from the plugin

Is your feature request related to a problem? Please describe.
Right now the plugin only supports immediate capture. If a merchant wants to capture on shipment then need to send a manual capture request from Shopware.

Hi Suzanne,
Is this ticket is it about: https://docs.adyen.com/online-payments/capture#manual-capture?
Could you elaborate a bit more about how this should be working with the plugin?
How / when the capture will take place, this can only take happen after an order has been placed and an PSP reference is available?
(internal reference: ASW-333)

Added to the roadmap, will close issue.


Fixed Parameter Default Value

The Default Value of the parameter named -AutoMapping is changed to $true from None.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/devices/Get-ActiveSyncDeviceStatistics.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mailboxes/Add-MailboxPermission.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[Event Request] Table 7302 "Bin Content" - OnBeforeCalcQtyAvailToTake

Is there a way for us to add the quanity of our own customize fields in function OnBeforeCalcQtyAvailToTake of Table 7302 "Bin Content" ?
Because we have customized a feature, its quanity may affect the number of AvailToTake quanity.
We hope to input in extra quantities to OnBeforeCalcQtyAvailToTake Function, and calculate the quantity together that output in the AvailToTake Qty.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Remove description-file field from setup.cfg

While installing from source I noticed that this deprecation warning was triggered.
C:\Users\Jens\miniconda3\envs\ipycytoscapedev\lib\site-packages\setuptools\dist.py:717: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
  warnings.warn(

The use of description-file/description_file has no effect when using setuptools
https://setuptools.pypa.io/en/latest/userguide/declarative_config.html#compatibility-with-other-tools for supported
In the form of description-file it triggers a deprecation warning while the other form will just be ignored.
The readme is already included via long_description in setup.py so I would suggest removing this line

ah good catch.

Thanks!


There's an issue with the value of Android's finishReason

https://github.com/candlefinance/react-native-openai/blob/8bd86f5ca8e622330776a99f5500675fee06eb07/android/src/main/java/com/candlefinance/reactnativeopenai/ReactNativeOpenaiModule.kt#L140
If the finishReason is null it will return "stop".

@fairjm good catch.


Some cmd/powershell hotkeys don't work

Cmd and powershell have some hotkeys, like ctrl+home for scrolling up to the top of the screen, ctrl+c/v for copy/paste, escape for cleaning up the prompt, etc. Some of them can be implemented in the python code, but not all. Is there a way to passthrough them to the terminal? (or at least implement ctrl+home behavior?)

+C and +V not working under ptpython, when launched by dos, is pretty annoying. Is ther a workaround ? a start paameter option ?


Created new Workingon Component

Feat : #7
Create new workingOn Component
### Component Picture

@Shivampatil22

Please remove the background color.
Use the basic button src\components\ui\button.tsx

Updated Component

Hi @Shivampatil22
Can you please fix the aligning?

@Shivampatil22 before creating new commit please merge the base branch to your feature branch and solve any merge conflicts.
Thank you

Ok I will keep that in mind


Include markers for Virtual Machines and Network test cases

Include markers for test cases based on priority.
Include comment with test case number and description

fixed issue and created new pr https://github.com/harvester/tests/pull/100


pre-trained model of Named Entity Recognition in Japanese

You're showing an example of Japanese language in Readme.
Are you planning to put the pre-trained model in Japanese language also?

Probably "YES". In the future...

@Hironsan do you have a pretrained model in Japanese that you would be willing to share with others? I'm working with a student who would benefit from such a model if you could share it!


[WIP] Remove test spam Continued

#1587 This is the 3rd PR in series of PR which aims to hunt and remove spam from test-backend output.
Testing Plan:
GIFs or Screenshots:

These changes are all great, merged, thanks @thedeveloperr!
How close are we to finishing this effort?

@timabbott

Few log verify are causing failures which I can't figure out why they are happening
I noticed few new spam which was not coming before I started this, I am not sure why this new spam is coming now and not before, maybe buffering issue in stdout, stderr ? I will check it

test: Running zerver.tests.test_logging_handlers.RateLimitFilterTest.test_recursive_filter_handling
 spam: 2020-07-23 06:11:50.989 ERR  [] Log an error to trigger recursive filter() calls in _RateLimitFilter.

2020-07-23 06:11:50.989 ERR  [] Log an error to trigger initial _RateLimitFilter.filter() call.

test: Running zerver.tests.test_push_notifications.PushBouncerNotificationTest.test_push_bouncer_api
 spam: 2020-07-23 06:13:04.687 ERR  [django.request] Bad Gateway: /json/users/me/apns_device_token

2020-07-23 06:13:04.703 ERR  [django.request] Bad Gateway: /json/users/me/apns_device_token

2020-07-23 06:13:04.753 ERR  [django.request] Bad Gateway: /json/users/me/android_gcm_reg_id

2020-07-23 06:13:04.766 ERR  [django.request] Bad Gateway: /json/users/me/android_gcm_reg_id

These are the stuff which i am not able to solve right now

@timabbott 14 more spam found (few of them just started appearing in the output, they were not appearing before) I think 1 or 2 day more. The slowest step in doing this is running the test again and again. Running single module test is not enough because single module produces different spam and that spam doesn't appear when running test for all modules.
Also some extra spam comes when parallel flag have value > 1

For zerver.tests.test_push_notifications.PushBouncerNotificationTest.test_push_bouncer_api, I'll just do a quick fix; it's just a loop: 4a7eb47c36bb0b3a9f20f13abdf0beded6d4bae2.
@mateuszmandera may be able to help with adding an appropriate assertLogs for test_recursive_filter_handling.
Some spam may be nondeterministic; happy to help figure out a plan for any of those.  But I'm excited we're close!

For zerver.tests.test_push_notifications.PushBouncerNotificationTest.test_push_bouncer_api, I'll just do a quick fix; it's just a loop: 4a7eb47.

@timabbott I made a similar fix but it was failing sometimes. I am not sure why. https://github.com/zulip/zulip/pull/15769/commits/9861937fca5fa561760043957aabeda5066e9d3d

It's possible the issue is the way you nested things?  I guess we'll see if the version I did fails; I wouldn't expect it to.